2011-10-04 46 views
0

我正在寻找完整的示例或详细教程,了解如何将Oracle AQ设置为JMSProvider。我想创建MDB,它将由Oracle AQ中定义的队列中的消息执行。我使用JBoss AS 5.1和Oracle 11在JBoss5中使用Oracle AQ作为JMS

================

感谢您的链接。我在我的JBoss下添加了Oracle AQ作为jms提供程序,但是现在我遇到了将队列中的消息排入队列的问题。我得到这样的异常:

2011-10-07 09:18:02,938 INFO [com.sun.genericjmsra:77](http-10.243.0.66-8080-2)无法获得OracleXA的受管连接 引起通过:javax.resource.ResourceException:JMS-232:Podano niepoprawnegouĹźytkownikalub niepoprawnehasĹodlapoĹÄ

这意味着我有一个不正确的用户名或/和密码。该数据是100%好,但也许我以错误的方式把它放在配置文件中。

这里是我的配置的一部分:

<tx-connection-factory> 
    <jndi-name>OracleXA</jndi-name> 
    <rar-name>oracleaq.rar</rar-name> 
    <connection-definition>javax.jms.QueueConnectionFactory</connection-definition> 
    <config-property name="ConnectionFactoryProperties" type="java.lang.String">host=IP_OF_MY_HOST,username=XXXX,password=YYYY,port=1521,sid=TESTAQ,driver=thin</config-property> 
    <config-property name="username" type="java.lang.String">XXXX</config-property> 
    <config-property name="password" type="java.lang.String">YYYY</config-property> 
    <max-pool-size>20</max-pool-size> 
</tx-connection-factory> 

我根据例子,我在一些网站上找到它建成。是否需要输入用户名和密码两次?我已经对这个配置进行了一些更改,但它没有解决问题:/

回答

0

了,而不是它

<config-property name="ConnectionFactoryProperties" type="java.lang.String">host=IP_OF_MY_HOST,username=XXXX,password=YYYY,port=1521,sid=TESTAQ,driver=thin</config-property> 

JDBC连接字符串,可以用:

<config-property name="ConnectionFactoryProperties" type="java.lang.String">jdbc_connect_string=jdbc:oracle:thin:XXXX/[email protected]_OF_MY_HOST:1521/TESTAQ,host=IP_OF_MY_HOST,user=XXXX,password=YYYY,port=1521,sid=TESTAQ,driver=thin</config-property> 
0

This post会给你一个关于如何创建队列的方法。
this one给出设置为JMS提供者的完整想法。 (在这个博客有可用的帖子有用的职位数)