jdeveloper11g中带有JMS的JNDI

jdeveloper11g中带有JMS的JNDI,jms,jndi,weblogic11g,Jms,Jndi,Weblogic11g,我正在尝试从OAS10.1.2到BeaWebLogic11g启动JMS应用程序 但是,定位JMS-JNDI存在一个问题。 启动服务器时会引发此异常: weblogic.application.ModuleException: Could not setup environment at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1495) at

我正在尝试从OAS10.1.2到BeaWebLogic11g启动JMS应用程序 但是,定位JMS-JNDI存在一个问题。 启动服务器时会引发此异常:

        weblogic.application.ModuleException: Could not setup environment
        at weblogic.servlet.internal.WebAppModule.activateContexts(WebAppModule.java:1495)
        at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:438)
        at weblogic.application.internal.flow.ModuleStateDriver$2.next(ModuleStateDriver.java:375)
        at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:52)
        at weblogic.application.internal.flow.ModuleStateDriver.activate(ModuleStateDriver.java:95)
        Truncated. see log file for complete stacktrace
    Caused By: javax.naming.NamingException: Cannot bind null object to jndi with name jms/TopicJNDI
        at weblogic.jndi.internal.BasicNamingNode.bind(BasicNamingNode.java:311)
        at weblogic.jndi.internal.WLEventContextImpl.bind(WLEventContextImpl.java:277)
        at weblogic.deployment.EnvironmentBuilder.addConnectorRef(EnvironmentBuilder.java:277)
        at weblogic.deployment.EnvironmentBuilder.addResourceReferences(EnvironmentBuilder.java:169)
        at weblogic.servlet.internal.CompEnv.activate(CompEnv.java:138)
        Truncated. see log file for complete stacktrace
我在BWL控制台中映射的jndi是jms/Topic

我在服务器启动时收到此错误:

        <An entity of type "ConnectionFactories" withname "Demo Topic Connection Factory" in JMS module "jmsModule" is not targeted. There is no sub-deployment with name "Demo Topic Connection Factory" in the configuration repository (config.xml), and so this entity will not exist anywhere in the domain.> 

提前谢谢。

我问题的答案是

这是我如何让它工作的

将以下行添加到weblogic.xml文件中

<resource-description>
<res-ref-name>MyDataSourceRefName<res-ref-name>
<jndi-name>jdbc/MyDataSourceNameAsDefinedInWeblogic</jndi-name>
</resource-description>
然后将以下内容添加到web.xml文件中

<resource-ref>
<description>Some description</description>
<res-ref-name>MyResourceRefName</res-ref-name>
<res-type>javax.sql.Datasource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在我这么做之后,一切都很顺利。此外,如果您试图配置Spring以使用此数据源,请添加以下bean

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>MyDataSourceRefName</value>
</property>
</bean>
然后使用适当的数据源。我希望这有帮助