3

JBoss には Hypersonic データベースが同梱されています。JNDI 名は DefaultDS で、記述子は deploy/hsqldb-ds.xml に格納されます。RedHat では、本番 JBoss インスタンスをデプロイする前に、このデータソースを削除することを推奨しています。RedHat は Hypersonic を実行する実稼働インスタンスをサポートしておらず、次の問題があることが知られています。

  • トランザクションの分離なし
  • スレッドとソケットのリーク
  • 持続性の質
  • データベースの破損
  • 負荷がかかるとデータベースが不安定になる
  • クラスタ環境はサポートされていません

では、どうすれば削除できますか?

4

1 に答える 1

4

依存関係が見つからないというエラーが発生するため、データソースを削除するだけでは十分ではありません。

DEPLOYMENTS IN ERROR: Deployment "jboss.ejb:service=EJBTimerService" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.ejb:service=EJBTimerService' **

依存関係エラーなしで Hypersonic を完全に削除するには、次の手順を実行する必要があります。

  1. deploy/hsqldb-ds.xml を削除します
  2. deploy/uuid-key-generator.sar を削除します
  3. deploy/messaging を削除します (使用していない場合)
  4. deploy/juddi-service.sar/ および deploy/snmp-adaptor.sar を削除します
  5. conf/standardjbosscmp-jdbc.xml を編集し、defaults セクションをコメントアウトします
  6. conf/login-config.xml を編集し、「HsqlDbRealm」アプリケーション ポリシーを削除します。
  7. deploy/ejb2-timer-service.xml を編集して、データベース永続性ポリシーをコメントアウトし、noop 永続性ポリシーをコメント化し、EJBTimerServiceImpl 永続性ポリシーをデータベースから noop に変更します。

これらの手順を完了すると、起動時に依存関係エラーが発生しなくなります。ただし、以下の警告が断続的に表示されます。

WARN  [loggerI18N] [com.arjuna.ats.internal.jta.recovery.xarecovery1] Local XARecoveryModule.xaRecovery  got XA exception javax.transaction.xa.XAException: Error trying to connect to provider java:/DefaultJMSProvider, XAException.XAER_RMERR

この警告メッセージを解決するには、conf/jbossts-properties.xml を編集し、JBMESSAGING1 java:/DefaultJMSProvider ポリシーをコメントアウトする必要があります。

これらの手順をすべて完了すると、Hypersonic が正常に削除されているはずです。ただし、より適切な代替データベースを使用するには、正しい手順 (データソースなど) を行っていることを確認してください:-)

于 2012-05-28T18:52:53.920 に答える