如何从默认的JBoss服务器配置中删除Hypersonic?

时间:2012-05-28 18:47:13

标签: jboss hsqldb jboss5.x

JBoss开箱即用Hypersonic数据库。 JNDI名称是DefaultDS,描述符存储在deploy / hsqldb-ds.xml中。 RedHat建议在部署生产JBoss实例之前删除此数据源。 RedHat不支持运行Hypersonic的生产实例,并且已知存在以下问题:

  • 没有事务隔离
  • 线程和套接字泄漏
  • 持久性质量
  • 数据库损坏
  • 负载下的数据库不稳定
  • 不支持群集环境

那我该怎么删除呢?

1 个答案:

答案 0 :(得分: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. 删除部署/消息(如果您不使用它)
  4. 删除deploy / juddi-service.sar /和deploy / snmp-adaptor.sar
  5. 编辑conf / standardjbosscmp-jdbc.xml,并注释掉默认部分
  6. 编辑conf / login-config.xml,并删除“HsqlDbRealm”应用程序策略
  7. 编辑deploy / ejb2-timer-service.xml以注释掉数据库持久性策略,在noop持久性策略中注释,并将EJBTimerServiceImpl持久性策略更改为noop from database
  8. 完成这些步骤后,您不应再在启动时获得依赖项错误。但是,您将间歇性地看到以下警告:

    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。确保已经使用更好的替换数据库完成了正确的步骤(数据源等): - )