JBoss AS 7.1 に移行(1)
本家 OpenDolphin および増田先生バージョンは,ずいぶん前からとっくに JBoss AS 7 に移行されていたが,当院バージョンはずっと JBoss AS 5 のままであった。今回,当院でも遅ればせながらやっと JBoss AS 7 に移行できた。
JBoss AS 7.1 をビルド
- 最新版の jboss as 7.1 の zip を github からもってくる。ブランチから 7.1 を選択して zip でダウンロードする。ちなみに,master は 7.2.Alpha である。
- build で25分かかった。これで 7.1.4.Final ができる。
$ cd jboss-as-7.1 $ export JAVA_HOME=`/usr/libexec/java_home -v 1.6` $ ./build.sh : $ cp -r build/target/jboss-as-7.1.4.Final-SNAPSHOT /Applications/
- bin/standalone.conf にオプションを加えて,メッセージの文字化けを防ぐ。
JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=UTF8"
- bin フォルダのstandalone.sh -b 0.0.0.0 で起動を確認。jboss 5 と比較すると起動が異常に早い。
$ ./standalone.sh -b 0.0.0.0 ========================================================================= JBoss Bootstrap Environment JBOSS_HOME: /Applications/jboss-as-7.1.4.Final JAVA: /Library/Java/JavaVirtualMachines/1.6.0_29-b11-402.jdk/Contents/Home/bin/java JAVA_OPTS: -d32 -client -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml -Dfile.encoding=UTF8 ========================================================================= 20:51:46,707 INFO [org.jboss.modules] JBoss Modules version 1.1.3.GA 20:51:46,854 INFO [org.jboss.msc] JBoss MSC version 1.0.2.GA 20:51:46,906 INFO [org.jboss.as] JBAS015899: JBoss AS 7.1.4.Final-SNAPSHOT "Arges" が起動しています。 20:51:47,491 INFO [org.xnio] XNIO Version 3.0.7.GA 20:51:47,493 INFO [org.jboss.as.server] JBAS015888: socket-binding (management-http) を使い http 管理サービスを作成しています。 20:51:47,497 INFO [org.xnio.nio] XNIO NIO Implementation Version 3.0.7.GA 20:51:47,503 INFO [org.jboss.remoting] JBoss Remoting version 3.2.13.GA : 20:51:47,937 INFO [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.4.Final-SNAPSHOT "Arges" は 1482ms でスタートしました - サービス 222 個のうち 144 個を開始しました (76 のサービスはパッシブあるいはオンデマンドとなっています)。
データソースの作成
- modules/org/postgresql/main フォルダを作成し,ドライバ postgresql-9.1-901.jdbc4.jar をコピーする。
- 同じフォルダに以下の module.xml を作成する
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="urn:jboss:module:1.0" name="org.postgresql"> <resources> <resource-root path="postgresql-9.1-901.jdbc4.jar"/> </resources> <dependencies> <module name="javax.api"/> </dependencies> </module>
- standalone/configuration/standalone.xml にドライバとデータソースを書き込む。jta=true にしないと,"Large Objects may not be used in auto-commit mode" という postgres エラーが出る。
<subsystem xmlns="urn:jboss:domain:datasources:1.0"> <datasources> <datasource jta="true" jndi-name="java:/PostgresDS" pool-name="PostgresDS" enabled="true" use-ccm="false"> <connection-url>jdbc:postgresql://localhost:5432/dolphin</connection-url> <driver-class>org.postgresql.Driver</driver-class> <driver>postgresql</driver> <security> <user-name>dolphin</user-name> </security> <validation> <validate-on-match>false</validate-on-match> <background-validation>false</background-validation> </validation> <statement> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource> <drivers> <driver name="postgresql" module="org.postgresql"/> </drivers> </datasources> </subsystem>
Security 設定
standalone.xml に以下の設定をする- security-realm 作成
<security-realm name="DolphinRealm"> <authentication> <jaas name="openDolphin"/> </authentication> </security-realm>
- リモートアクセスで上記の security-realm を使うように設定(デフォルトでは ApplicationRealm が設定されている)
<subsystem xmlns="urn:jboss:domain:remoting:1.1"> <connector name="remoting-connector" socket-binding="remoting" security-realm="DolphinRealm"/> </subsystem>
- security-domain 設定。これは jboss 5 の login-config.xml と同じもの。
<security-domain name="openDolphin" cache-type="default"> <authentication> <login-module code="Database" flag="required"> <module-option name="dsJndiName" value="java:/PostgresDS"/> <module-option name="principalsQuery" value="SELECT PASSWORD FROM D_USERS WHERE USERID=?"/> <module-option name="rolesQuery" value="SELECT C_ROLE, 'Roles' FROM D_ROLES WHERE USER_ID=?"/> <module-option name="hashAlgorithm" value="MD5"/> <module-option name="hashEncoding" value="hex"/> </login-module> </authentication> </security-domain>
« 5年目の運用まとめ | トップページ | JBoss AS 7.1 に移行(2) »
「OpenDolphin」カテゴリの記事
- IME on/off の切り替え(2024.09.03)
- 促音拗音の検索(2024.09.01)
- Java 17 への移行(7) - OpenDolphin client の対応 (2023.02.04)
- Java 17 への移行(6) - Hibernate 6 でやらかす(2023.02.03)
- Java 17 への移行(5) - OpenDolphin server の対応(2023.02.02)