我收到了错误
SQLException:表已经存在:
运行我的jboss与英镑9.4集成。
我想知道我哪里出错了
答案 0 :(得分:1)
实际上
这些消息有时会引起用户的关注。但是,大多数情况下,此消息是正常的并且是预期的(因此,DEBUG日志记录级别代替,例如,ERROR或WARN。)
默认情况下,服务器尝试创建支持消息持久性的表。如果表已存在,则抛出java.sql.SQLException。这通常表示表已存在且不需要创建。当然,如果表尚不存在,则会创建它们,并且管理员不需要将JMS所需的表创建为单独的任务。
虽然堆栈跟踪通常是引起关注的日志消息的功能,但在DEBUG消息中需要它。对于"表已经存在,没有标准的SQL异常或抛出的消息"失败的类型。这意味着只有在故障是由其他一些问题引起时,才有通用的方法来报告异常。因此,包含堆栈跟踪以便在创建表时出现其他故障时进行调试。
可以禁用表的自动创建。当然,在禁用该功能的情况下,必须在Application Server启动之前创建表,以使JMS系统正常工作。
的JBossMQ *
对于JBossMQ,在$ SERVER_CONFIG_DIR / deploy / jms / -jdbc2-service.xml文件中禁用该功能(例如,默认/ deploy / jms / hsqldb-jdbc2-service.xml。)行" CREATE_TABLES_ON_STARTUP = TRUE启用表的自动创建。将值设置为FALSE将禁用表的创建。
JBoss Messaging
对于JBoss Messaging,使用$ SERVER_CONFIG_DIR / deploy / jboss-messaging.sar / -persistence-service.xml配置文件中的CreateTablesOnStartup属性禁用该功能(例如,messaging / deploy / jboss-messaging.sar / hsqldb -persistence-service.xml。)默认情况下,此属性设置为true。要在启动时禁用表的创建,请将值设置为false。