gpt4 book ai didi

sql-server - 添加队列时出现 WSO2 消息代理错误 - 对象名称无效

转载 作者:行者123 更新时间:2023-12-03 21:28:05 24 4
gpt4 key购买 nike

我刚刚设置了 WSO2 消息代理 3.0.0 连接到 SQL Server 数据库。

Carbon MB 组件的 DB 也已成功创建。

消息代理数据存储的 DB 已创建并包含表 MB_QUEUE_MAPPING。

但是,当通过 MB UI 添加队列时,我在堆栈跟踪中看到以下错误:

[2015-12-16 15:00:41,472] ERROR {org.wso2.andes.store.rdbms.RDBMSMessageStoreImpl} -  Error occurred while retrieving destination queue id for destina
tion queue TestQ
java.sql.SQLException: Invalid object name 'MB_QUEUE_MAPPING'.
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421)
at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:671)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:505)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:1029)
at org.wso2.andes.store.rdbms.RDBMSMessageStoreImpl.getQueueID(RDBMSMessageStoreImpl.java:1324)
at org.wso2.andes.store.rdbms.RDBMSMessageStoreImpl.getCachedQueueID(RDBMSMessageStoreImpl.java:1298)
at org.wso2.andes.store.rdbms.RDBMSMessageStoreImpl.addQueue(RDBMSMessageStoreImpl.java:1634)
at org.wso2.andes.store.FailureObservingMessageStore.addQueue(FailureObservingMessageStore.java:445)
at org.wso2.andes.kernel.AMQPConstructStore.addQueue(AMQPConstructStore.java:116)
at org.wso2.andes.kernel.AndesContextInformationManager.createQueue(AndesContextInformationManager.java:154)
at org.wso2.andes.kernel.disruptor.inbound.InboundQueueEvent.updateState(InboundQueueEvent.java:151)
at org.wso2.andes.kernel.disruptor.inbound.InboundEventContainer.updateState(InboundEventContainer.java:167)
at org.wso2.andes.kernel.disruptor.inbound.StateEventHandler.onEvent(StateEventHandler.java:67)
at org.wso2.andes.kernel.disruptor.inbound.StateEventHandler.onEvent(StateEventHandler.java:41)
at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:128)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

“添加队列”屏幕不会消失,但是队列确实被添加到 DB 中的 MB_QUEUE 表中。 MB_QUEUE_MAPPING 和 MB_QUEUE_COUNTER 两个表都是空白的。

尽管 MB_QUEUE 表中有许多队列,但“列出队列”屏幕仍为空白。堆栈跟踪也显示错误,但不包括在内,因为它与上述错误无关。

但是,我可以很好地创建一个主题。

我想知道为什么 MB 会说 MB_QUEUE_MAPPING 表是 无效的对象名称 当表明确存在时?

最佳答案

我怀疑您配置mysql数据库的方式不正确。因此您可以最好尝试以下两种方案之一来确定此问题。

1) 使用 -Dsetup 参数首次启动服务器或

2)您可以引用文档( https://docs.wso2.com/display/MB300/Configuring+MySQL )“配置 MySQL”并按照顺序逐步说明进行操作。

我已经尝试了第二种情况,在添加队列时没有出现任何异常。我提到的文档必须如下更新。

您可以在步骤 3 中看到此命令。

 mysql -u <db_user_name> -p -D<database_name> < '<WSO2MB_HOME>/dbscripts/mb-store/mysql-mb.sql ';

db_user_name - 数据库的用户名。

database_name - 您在步骤 1 中创建的数据库名称。

WSO2MB_HOME - MB 的主目录路径。

希望这可以帮助您解决此问题。

关于sql-server - 添加队列时出现 WSO2 消息代理错误 - 对象名称无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34321398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com