JBoss AS 5.1.0.GA に乗り換え
OpenDolphin サーバを JBoss AS 4.2.3.GA から 5.1.0.GA にバージョンアップした。実運用して2週間ほど様子をみているが,今のところ特に問題なく動いている。
- JBoss AS 5.1.0.GA のダウンロードページから,jboss-5.1.0.GA-jdk6 をダウンロードしてインストール。
- postgresql-8.3-605.jdbc4.jar を $JBOSS_HOME/common/lib に入れる。
- server は default で OK。
- OpenDolphin の lib に入っている jboss 関連の jar を削除して,代わりに JBoss-5.1.0.GA の $JBOSS_HOME/client に入っている jar を全部と,$JBOSS_HOME/common/lib に入っている hibernate-core.jar を入れる。
- org.jboss.security.Util.createPasswordHash を使っているメソッドにエラーが出るので,org.jboss.crypto.CryptoUtil.createPasswordHash に書き換える。
- org.jboss.annotation.ejb.RemoteBinding を使っているメソッドにエラーが出るので,org.jboss.ejb3.annotation.RemoteBinding に書き換える。
- org.jboss.annotation.security.SecurityDomain を使っているメソッドにエラーが出るので,org.jboss.ejb3.annotation.SecurityDomain に書き換える。
- persistence.xml のヘッダーの書き換えが必要。
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">
- application.xml と jboss-app.xml は不要。(使いたい場合は,やはりヘッダを書き換えなければならない)
- ejb/RemoteMainteServiceImpl.java と ejb/RemoteMainteService.java を削除。これは RemotePvtService という JNDI ネームを持っていて,本物の RemotePvtService とぶつかる。
- delegater/UserDelegater.java に以下のように credential のコードを追加。これを入れないと,せっかく login したのに ejb にアクセスする度に再ログインしようとして失敗しまくる。(4.2.3 では良きに計らってくれていたようだ)
delegater/UserDelegater.java
public class UserDelegater extends BusinessDelegater { /** * ユーザ認証を行う。 * @return UserModel */ public UserModel login(DolphinPrincipal principal, String password) throws Exception { String pk = principal.getFacilityId() + ":" + principal.getUserId(); //pns^ JBoss AS 5.1.0 対応 SecurityAssociation.setPrincipal(new SimplePrincipal(pk)); SecurityAssociation.setCredential(password.toCharArray()); //pns$ UsernamePasswordHandler h = new UsernamePasswordHandler(pk, password.toCharArray()); LoginContext lc = new LoginContext(getSecurityDomain(), h); lc.login(); return getUser(pk);
- postgres-ds.xml はそのまま使用可。
- 構築して ear をデプロイ。
« StampPublisher で TaskMonitor を止める | トップページ | スタンプ箱の保存・読み込み »
「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)