我正在尝试从OAS 10.1.2到BeaWebLogic 11g启动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.>
提前致谢。
答案 0 :(得分:-1)
我的问题的答案是here
以下是我如何使用它。
将以下行添加到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>
然后使用您的数据源。我希望这会有所帮助。