A JMS destination limit was reached.
Hi,
I encounter en error when I deploy an application under Application Server 9.
I got the following error message :
A JMS destination limit was reached. Too many Subscribers/Receivers for Queue : NewMessage user=guest, broker=localhost:7676(2832)What I need to configure / change / adapt my code ? I use the Click Framework to retrieve a Facade :
/** Creates a new instance of Hello */
public Hello() {
tableToto = new Table();
if (newsEntityFacade == null) newsEntityFacade = lookupNewEntityFacade();
tableToto.setClass("simple");
tableToto.setPageSize(40);
tableToto.setName("tableToto");
tableToto.addColumn(new Column("id"));
tableToto.addColumn(new Column("title"));
tableToto.addColumn(new Column("body"));
index = 0;
max = newsEntityFacade.count();
rowByPage = tableToto.getPageSize();
tableToto.setRowCount(max / rowByPage);
private NewEntityFacadeLocal lookupNewEntityFacade() {
try {
Context c = new InitialContext();
return (NewEntityFacadeLocal) c.lookup("java:comp/env/ejb/NewEntityFacade");
catch(NamingException ne) {
Logger.getLogger(getClass().getName()).log(Level.SEVERE,"exception caught" ,ne);
throw new RuntimeException(ne);
}And my Facade is declared as @Stateless
I've checked that topic earlier before I have posted mine, but at that time it didn't strike me! Now, I realize the exact problem!
I need to undeploy my message-driven bean tutorial example, which was using the same queue!
Thanks.
Similar Messages
-
S1000 Data file size limit is reached in statement
I am new to Java and was given the task to trouble shoot a java application that was written a few years ago and no longer supported. The java application creates database files the user's directory: diwdb.properties, diwdb.data, diwdb.lproperties, diwdb.script. The purpose of the application is to open a zip file and insert the files into a table in the database.
The values that are populated in the diwdb.properties file are as follows:
#HSQL Database Engine
#Wed Jan 30 08:55:05 GMT 2013
hsqldb.script_format=0
runtime.gc_interval=0
sql.enforce_strict_size=false
hsqldb.cache_size_scale=8
readonly=false
hsqldb.nio_data_file=true
hsqldb.cache_scale=14
version=1.8.0
hsqldb.default_table_type=memory
hsqldb.cache_file_scale=1
hsqldb.log_size=200
modified=yes
hsqldb.cache_version=1.7.0
hsqldb.original_version=1.8.0
hsqldb.compatible_version=1.8.0
Once the databsae file gets to 2GB it brings up the error meessage 'S1000 Data file size limit is reached in statement (Insert into <tablename>......
From searching on the itnernet it appeared that the parameter hsqldb.cache_file_scale needed to be increased & 8 was a suggested value.
I have the distribution files (.jar & .jnlp) that are used to run the application. And I have a source directory that was found that contains java files. But I do not see any properties files to set any parameters. I was able to load both directories into NetBeans but really don't know if the files can be rebuilt for distribution as I'm not clear on what I'm doing and NetBeans shows errors in some of the directories.
I have also tried to add parameters to the startup url: http://uknt117.uk.infores.com/DIW/DIW.jnlp?hsqldb.large_data=true?hsqldb.cache_file_scale=8 but that does not affect the application.
I have been struggling with this for quite some time. Would greatly appreciate any assistance to help resolve this.
Thanks!Thanks! But where would I run the sql statement. When anyone launches the application it creates the database files in their user directory. How would I connect to the database after that to execute the statement?
I see the create table statements in the files I have pulled into NetBeans in both the source folder and the distribution folder. Could I add the statement there before the table is created in the jar file in the distribution folder and then re-compile it for distribution? OR would I need to add it to the file in source directory and recompile those to create a new distribution?
Thanks! -
Producing message to temporary JMS destination
Hi,
Has anyone managed to produce a message to a temporary JMS destination using the JMS Adapter? I'm trying to get this request/reply-pattern working:
-Java client connects to a Connection Factory and creates a temporary reply queue (works, CF returns a destination like "TestingJmsServer!TestingJmsServer.TemporaryQueue2")
-The client produces a message with JMSReplyTo pointing to the temporary reply queue (works)
-JMS Adapter consumes the message and assigns jca.jms.JMSDestinationName := jca.jms.JMSReplyTo (works)
-The JMS adapter should now produce the reply message to the provided temporary queue, but it always fails with error BEA-045101:
The destination name passed to createTopic or createQueue "destName" is invalid. If the destination name does not contain a "/" character then it must be the name of a distributed destination that is available in the cluster to which the client is attached. If it does contain a "/" character then the string before the "/" must be the name of a JMSServer or a ".". The string after the "/" is the name of a the desired destination. If the "./" version of the string is used then any destination with the given name on the local WLS server will be returned.
The same problem occurs with fixed queues, like "TestingJmsModule!ReplyQueue", but I can make them work by adding a "./" in front of the destination name when performing the jca.jms.JMSDestinationName assign, so that it reads "./TestingJmsModule!ReplyQueue". After that the adapter is able to produce the message correctly to the given JMSDestinationName.
Is it significant that with fixed queues I get a destination like "JmsModule!FixedQueueName" (note the module) but with temporary destinations it is like "JmsServer!TempQueueName" (note the server)?
Should the destination name be of some other format? The current value is exactly what the Connection Factory returns, and if the JMS adapter is replaced with another java client, producing the reply message to that destination works just fine.
regards,
VilleHi,
I am trying to send messages to the WLS queue through Camel and facing the same issue, which can be eliminated by using queue name as ./<QUEUE_NAME>.
However it only eliminates the error and the next one comes is real pain. It is not able to find the JNDI name of the queue, where as I am able to see it in Admin console JNDI tree.
Exception in thread "Main Thread" org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[Message: Test Message: 0]
at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1161)
at org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:512)
at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:441)
at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:437)
at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:125)
at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:130)
at org.apache.camel.example.jmstofile.PublishMessage.main(PublishMessage.java:63)
Caused by: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occured during JMS processing; nested exception is weblogic.jms.common.JMSException: [JMSExceptions:045102]A destination of name "WLtestQueue" was not found on WLS server "AdminServer".
at org.springframework.jms.support.JmsUtils.convertJmsAccessException(JmsUtils.java:316)
at org.springframework.jms.support.JmsAccessor.convertJmsAccessException(JmsAccessor.java:168)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:469)
at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.send(JmsConfiguration.java:172)
at org.apache.camel.component.jms.JmsProducer.doSend(JmsProducer.java:347)
at org.apache.camel.component.jms.JmsProducer.processInOnly(JmsProducer.java:303)
at org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:101)
at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:104)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63)
at org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:345)
at org.apache.camel.impl.ProducerCache$1.doInProducer(ProducerCache.java:317)
at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:222)
at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:317)
at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:168)
at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:110)
at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:123)
... 2 more
Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045102]A destination of name "WLtestQueue" was not found on WLS server "AdminServer".
at weblogic.jms.dispatcher.DispatcherAdapter.convertToJMSExceptionAndThrow(DispatcherAdapter.java:110)
at weblogic.jms.dispatcher.DispatcherAdapter.dispatchSyncNoTran(DispatcherAdapter.java:61)
at weblogic.jms.client.JMSSession.createDestination(JMSSession.java:3192)
at weblogic.jms.client.JMSSession.createQueue(JMSSession.java:2577)
at weblogic.jms.client.WLSessionImpl.createQueue(WLSessionImpl.java:938)
at org.springframework.jms.support.destination.DynamicDestinationResolver.resolveQueue(DynamicDestinationResolver.java:101)
at org.springframework.jms.support.destination.DynamicDestinationResolver.resolveDestinationName(DynamicDestinationResolver.java:66)
at org.springframework.jms.support.destination.JmsDestinationAccessor.resolveDestinationName(JmsDestinationAccessor.java:100)
at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate.access$200(JmsConfiguration.java:141)
at org.apache.camel.component.jms.JmsConfiguration$CamelJmsTemplate$3.doInJms(JmsConfiguration.java:174)
at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:466)
... 17 more
Anyone has got any idea? -
JMS Exception - unable to connect to the JMS destination
Hi,
I've configured WebLogic10R3 Cluster with one Admin Server and 2 Managed Servers.
I deployed the application to the Cluster. (Ie. both Managed 1 and Managed Server 2.)
I am geeting the following JMS destination not found exception while starting the Second Managed Server.
There are no errors occurred in the First Managed Server.
{color:#ff0000}<Warning> <EJB> <BEA-010061>
<The Message-Driven EJB: SysAuditLogger is unable to connect to the JMS destination: topic/efpAuditTopic.
The Error was: weblogic.jms.common.JMSException: could not find Server efpserver_man2
Nested exception: weblogic.jms.common.JMSException: could not find Server efpserver_man2
Nested exception: weblogic.jms.common.JMSException: could not find Server efpserver_man2
Nested exception: weblogic.jms.common.JMSException: could not find Server efpserver_man2
Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server efpserver_man2
Nested exception: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:efpserver_man2.
Resolved 'weblogic .messaging.dispatcher'; remaining name 'S:efpserver_man2>{color}
Configuration Details:
##config.xml:
<?xml version='1.0' encoding='UTF-8'?>
<domain xmlns="http://www.bea.com/ns/weblogic/920/domain" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90/security/wls [http://www.bea.com/ns/weblogic/90/security/wls.xsd] [http://www.bea.com/ns/weblogic/920/domain] [http://www.bea.com/ns/weblogic/920/domain.xsd] [http://www.bea.com/ns/weblogic/90/security/xacml] [http://www.bea.com/ns/weblogic/90/security/xacml.xsd] [http://www.bea.com/ns/weblogic/90/security] [http://www.bea.com/ns/weblogic/90/security.xsd]">
<name>efpdomain</name>
<domain-version>10.3.0.0</domain-version>
<security-configuration>
<name>efpdomain</name>
<realm>
<sec:authentication-provider xsi:type="wls:default-authenticatorType"></sec:authentication-provider>
<sec:authentication-provider xsi:type="wls:default-identity-asserterType">
<sec:active-type>AuthenticatedUser</sec:active-type>
</sec:authentication-provider>
<sec:role-mapper xmlns:xac="http://www.bea.com/ns/weblogic/90/security/xacml" xsi:type="xac:xacml-role-mapperType"></sec:role-mapper>
<sec:authorizer xmlns:xac="http://www.bea.com/ns/weblogic/90/security/xacml" xsi:type="xac:xacml-authorizerType"></sec:authorizer>
<sec:adjudicator xsi:type="wls:default-adjudicatorType"></sec:adjudicator>
<sec:credential-mapper xsi:type="wls:default-credential-mapperType"></sec:credential-mapper>
<sec:cert-path-provider xsi:type="wls:web-logic-cert-path-providerType"></sec:cert-path-provider>
<sec:cert-path-builder>WebLogicCertPathProvider</sec:cert-path-builder>
<sec:name>myrealm</sec:name>
</realm>
<default-realm>myrealm</default-realm>
<credential-encrypted>{3DES}hcdd+yZGXk5DHgRKqCM7E86l4+VxPcZ9Ut7rB6WaXqMyvbtDjDUKNCKbMQdCN/BEYCv5E0N4Hms9kntfqhaduDO1WGMtbmJL</credential-encrypted>
<node-manager-username>weblogic</node-manager-username>
<node-manager-password-encrypted>{3DES}Q2xO0EiChbay/HkRiorTjg==</node-manager-password-encrypted>
</security-configuration>
<server>
<name>AdminServer</name>
<listen-address>192.168.12.240</listen-address>
</server>
<server>
<name>efpserver_man1</name>
<listen-port>8011</listen-port>
<cluster>efpcluster</cluster>
<listen-address>192.168.12.240</listen-address>
<xml-registry>XMLEFP</xml-registry>
<jta-migratable-target>
<user-preferred-server>efpserver_man1</user-preferred-server>
<cluster>efpcluster</cluster>
</jta-migratable-target>
</server>
<server>
<name>efpserver_man2</name>
<listen-port>8012</listen-port>
<cluster>efpcluster</cluster>
<listen-address>192.168.12.240</listen-address>
<xml-registry>XMLEFP</xml-registry>
<jta-migratable-target>
<user-preferred-server>efpserver_man2</user-preferred-server>
<cluster>efpcluster</cluster>
</jta-migratable-target>
</server>
<cluster>
<name>efpcluster</name>
<cluster-address>192.168.12.240:8011,192.168.12.240:8012</cluster-address>
<multicast-address>239.192.0.0</multicast-address>
</cluster>
<embedded-ldap>
<name>efpdomain</name>
<credential-encrypted>{3DES}q/XQGirHcAcgi4iwPiXIkRHP8xte4xVBgJwjM+qMwbk=</credential-encrypted>
</embedded-ldap>
<configuration-version>10.3.0.0</configuration-version>
<app-deployment>
<name>efp</name>
<target>efpcluster</target>
<module-type>ear</module-type>
<source-path>applications\efp.ear</source-path>
<security-dd-model>DDOnly</security-dd-model>
</app-deployment>
<xml-registry>
<name>XMLEFP</name>
<document-builder-factory>weblogic.apache.xerces.jaxp.DocumentBuilderFactoryImpl</document-builder-factory>
<sax-parser-factory>weblogic.apache.xerces.jaxp.SAXParserFactoryImpl</sax-parser-factory>
<transformer-factory>weblogic.apache.xalan.processor.TransformerFactoryImpl</transformer-factory>
</xml-registry>
<jms-server>
<name>eFpJMSServer</name>
<target>efpserver_man1 (migratable)</target>
<persistent-store>eFpJMSJDBCStore</persistent-store>
</jms-server>
<jms-server>
<name>eFpJMSServer2</name>
<target>efpserver_man2 (migratable)</target>
<persistent-store>eFpJMSJDBCStore2</persistent-store>
</jms-server>
<migratable-target>
<name>efpserver_man1 (migratable)</name>
<notes>繧キ繧ケ繝・Β逕滓・縺ォ繧医k繝・ヵ繧ゥ繝ォ繝医・繧オ繝シ繝千畑遘サ陦悟庄閭ス蟇セ雎。縺ァ縺吶よ焔蜍輔〒蜑企勁縺励↑縺・〒縺上□縺輔>縲・/notes>
<user-preferred-server>efpserver_man1</user-preferred-server>
<cluster>efpcluster</cluster>
</migratable-target>
<migratable-target>
<name>efpserver_man2 (migratable)</name>
<notes>繧キ繧ケ繝・Β逕滓・縺ォ繧医k繝・ヵ繧ゥ繝ォ繝医・繧オ繝シ繝千畑遘サ陦悟庄閭ス蟇セ雎。縺ァ縺吶よ焔蜍輔〒蜑企勁縺励↑縺・〒縺上□縺輔>縲・/notes>
<user-preferred-server>efpserver_man2</user-preferred-server>
<cluster>efpcluster</cluster>
</migratable-target>
<jdbc-store>
<name>eFpJMSJDBCStore</name>
<prefix-name>WLJMS_</prefix-name>
<data-source>eFpNonXADataSource</data-source>
<target>efpserver_man1 (migratable)</target>
</jdbc-store>
<jdbc-store>
<name>eFpJMSJDBCStore2</name>
<prefix-name>WLJMS2_</prefix-name>
<data-source>eFpNonXADataSource</data-source>
<target>efpserver_man2 (migratable)</target>
</jdbc-store>
<jms-system-resource>
<name>eFPJMS</name>
<target>efpcluster</target>
<sub-deployment>
<name>eFPServer</name>
<target>eFpJMSServer</target>
</sub-deployment>
<sub-deployment>
<name>eFPServer2</name>
<target>eFpJMSServer2</target>
</sub-deployment>
<descriptor-file-name>jms/efpjms-jms.xml\JMS Description-jms.xml</descriptor-file-name>
</jms-system-resource>
<admin-server-name>AdminServer</admin-server-name>
<jdbc-system-resource>
<name>eFpDataSource</name>
<target>efpcluster</target>
<descriptor-file-name>jdbc/eFpDataSource-2004-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
<jdbc-system-resource>
<name>eFpNonXADataSource</name>
<target>efpcluster</target>
<descriptor-file-name>jdbc/eFpNonXADataSource-6172-jdbc.xml</descriptor-file-name>
</jdbc-system-resource>
</domain>
##JMS Description-jms.xml
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-jms [http://www.bea.com/ns/weblogic/weblogic-jms/1.0/weblogic-jms.xsd]">
<connection-factory name="ConnectionFactory">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>jms/ConnectionFactory</jndi-name>
<security-params>
<attach-jmsx-user-id>false</attach-jmsx-user-id>
</security-params>
</connection-factory>
<connection-factory name="XAConnectionFactory">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>jms/XAConnectionFactory</jndi-name>
<transaction-params>
<transaction-timeout>3600</transaction-timeout>
<xa-connection-factory-enabled>true</xa-connection-factory-enabled>
</transaction-params>
<security-params>
<attach-jmsx-user-id>false</attach-jmsx-user-id>
</security-params>
</connection-factory>
<uniform-distributed-queue name="ActiveActivityQueue">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>queue/efpActiveActivityQueue</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
<forward-delay>-1</forward-delay>
<reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>
</uniform-distributed-queue>
<uniform-distributed-topic name="AdminTopic">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>topic/efpAdminTopic</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-topic>
<uniform-distributed-topic name="AuditTopic">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>topic/efpAuditTopic</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-topic>
<uniform-distributed-topic name="ErrorTopic">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>topic/efpErrorTopic</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-topic>
<uniform-distributed-topic name="FreeTextTopic">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>topic/efpFreeTextTopic</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-topic>
<uniform-distributed-topic name="ReportingTopic">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>topic/efpReportingTopic</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-topic>
</weblogic-jms>
-----Getting the following exception while trying to connect the JMS destination I am using weblogic 10.3.3 connecting to oracle AQ. The config has been done as per the 'Interoperating with Oracle AQ JMS' document from oracle. I could see that while deploying the application the number of connections in the database increasing to 15 and getting the following error message.
<Jun 15, 2011 4:14:29 PM EDT> <Warning> <EJB> <BEA-010061> <The Message-Driven E
JB: SampleEJBBean is unable to connect to the JMS destination: jms/propQueue. Th
e Error was:
oracle.jms.AQjmsException: Internal error: Cannot obtain XAConnection weblogic.c
ommon.resourcepool.ResourceLimitException: No resources currently available in p
ool TestDataSource to allocate to applications, please increase the size of the
pool and retry..
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResourceInternal
(ResourcePoolImpl.java:555)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(Resourc
ePoolImpl.java:332)
at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(Resourc
ePoolImpl.java:322)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:438)
at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:317)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(Connectio
nPoolManager.java:93)
at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(Connectio
nPoolManager.java:61)
at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:
1670)
at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1
468)
at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:439)
at weblogic.jdbc.jta.DataSource.connect(DataSource.java:396)
at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:355)
at oracle.jms.AQjmsDBConnMgr.getConnection(AQjmsDBConnMgr.java:566)
at oracle.jms.AQjmsXAConnection.createXAQueueSession(AQjmsXAConnection.j
ava:214)
at weblogic.ejb.container.internal.JMSConnectionPoller.setUpQueueSession
s(JMSConnectionPoller.java:1545)
at weblogic.ejb.container.internal.JMSConnectionPoller.createJMSConnecti
on(JMSConnectionPoller.java:2047)
at weblogic.ejb.container.internal.JMSConnectionPoller.connect(JMSConnec
tionPoller.java:787)
at weblogic.ejb.container.internal.MDConnectionManager.startConnectionPo
lling(MDConnectionManager.java:244)
at weblogic.ejb.container.manager.MessageDrivenManager.start(MessageDriv
enManager.java:584)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.mdManagerSt
art(MessageDrivenBeanInfoImpl.java:1334)
at weblogic.ejb.container.deployer.MessageDrivenBeanInfoImpl.deployMessa
geDrivenBeans(MessageDrivenBeanInfoImpl.java:1314)
at weblogic.ejb.container.deployer.EJBDeployer.deployMessageDrivenBeans(
EJBDeployer.java:1669)
at weblogic.ejb.container.deployer.EJBDeployer.start(EJBDeployer.java:14
93)
at weblogic.ejb.container.deployer.EJBModule.start(EJBModule.java:614)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
ListenerInvoker.java:249)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:427)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:43)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStat
eDriver.java:119)
at weblogic.application.internal.flow.StartModulesFlow.activate(StartMod
ulesFlow.java:28)
at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.ja
va:1269)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:43)
at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.
java:409)
at weblogic.application.internal.SingleModuleDeployment.activate(SingleM
oduleDeployment.java:43)
at weblogic.application.internal.DeploymentStateChecker.activate(Deploym
entStateChecker.java:161)
at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(Ap
pContainerInvoker.java:79)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.ac
tivate(AbstractOperation.java:569)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.ac
tivateDeployment(ActivateOperation.java:150)
at weblogic.deploy.internal.targetserver.operations.ActivateOperation.do
Commit(ActivateOperation.java:116)
at weblogic.deploy.internal.targetserver.operations.AbstractOperation.co
mmit(AbstractOperation.java:323)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploym
entCommit(DeploymentManager.java:844)
at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeplo
ymentList(DeploymentManager.java:1253)
at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(
DeploymentManager.java:440)
at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.com
mit(DeploymentServiceDispatcher.java:164)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13)
at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallb
ackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:69)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTunin
gWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) -
MDB cannot connect to JMS destination using Foreign Server
Hi everyone,
I have configured foreign jms server in weblogic but when MDB tries to connect to specific queue, it gets the following exception:
I would really appreciate if anyone could help me.
<Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010096> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination or bind to JCA resource adapter: xcg2/smsInQueue. Connection failed after 2 attempts. The MDB will attempt to reconnect/rebind every 10 seconds. This log message will repeat every 600 seconds until the condition clears.>
<Sep 28, 2012 5:23:34 PM CEST> <Warning> <EJB> <BEA-010061> <The Message-Driven EJB: SmsReceiver is unable to connect to the JMS destination: xcg2/smsInQueue. The Error was:
[EJB:011010]The JMS destination with the JNDI name: jmsxcg.out could not be found. Please ensure that the JNDI name in the weblogic-ejb-jar.xml or corresponding annotation is correct, and the JMS destination has been deployed.
javax.naming.InvalidNameException: jmsxcg.out: [LDAP: error code 34 - Invalid DN]; remaining name 'jmsxcg.out' NestedException Message is :jmsxcg.out: [LDAP: error code 34 - Invalid DN]>
MDB annotation looks like this:
@MessageDriven(name="SmsReceiver", mappedName="xcg2/smsInQueue",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class SmsReceiverBean implements MessageListener
weblogic-ejb-jar.xml excerpt:
<weblogic-enterprise-bean>
<ejb-name>SmsReceiver</ejb-name>
<message-driven-descriptor>
<pool>
<max-beans-in-free-pool>10</max-beans-in-free-pool>
<initial-beans-in-free-pool>5</initial-beans-in-free-pool>
</pool>
<connection-factory-jndi-name>echoQueueConnectionFactory</connection-factory-jndi-name>
</message-driven-descriptor>
<transaction-descriptor>
<trans-timeout-seconds>600</trans-timeout-seconds>
</transaction-descriptor>
<dispatch-policy>MdbSmsWorkManager</dispatch-policy>
</weblogic-enterprise-bean>
and the configuration of foreign-server:
<?xml version="1.0" encoding="UTF-8"?>
<weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms">
<foreign-server name="serverr">
<sub-deployment-name>Subdeployment</sub-deployment-name>
<foreign-destination name="sms queue>
<local-jndi-name>xcg2/smsInQueue</local-jndi-name>
<remote-jndi-name>jmsxcg.out</remote-jndi-name>
</foreign-destination>
<foreign-connection-factory name="Connection Factory">
<local-jndi-name>echoQueueConnectionFactory</local-jndi-name>
<remote-jndi-name>QueueConnectionFactory</remote-jndi-name>
</foreign-connection-factory>
<initial-context-factory>com.tibco.tibjms.naming.TibjmsInitialContextFactory</initial-context-factory>
<connection-url>tibjmsnaming://xx.xx.xx.xx:7222</connection-url>
</foreign-server>
</weblogic-jms>
PS. I'm able to connect to the weblogic jndi, get connectionFactory echoQueueConnectionFactory, then lookup queue and grab messages so that's i suspect there is something wrong with configurationHmm - I'm not sure what's going on. Two thoughts --
Thought 1 - According to my (admittedly minimal) research, Tibco is complaining about a syntax error in the lookup name. Perhaps the problem has something to do with your use of a "." in the queue name "jmsxcg.out": WL or Tibco JNDI might be interpreting the "." as a subcontext or some-such. Perhaps try renaming the queue to "jmsxcg_out" throughout (in Tibco and in your Foreign JMS reference).
Thought 2 - It probably won't make a difference, but you might want try specifying the source destination via the "destinationJndiName" config property instead of via "mappedName".
@MessageDriven(
name = "MyMDB",
activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destinationJndiName",
propertyValue = "MyQueue") // Ext. JNDI Name
)HTH,
Tom -
Weblogic 8.1: Remote/Foreign Server JMS - Destination not found error
Hi
This is our current setup: Weblogic Server 8.1 with JMS module running on the same instance as the application. We would like to move JMS out into its own box. I am currently setting up my development environment to test the new setup. These are the steps I followed:
* Setup the server instance running the application on one box (Box1). Removed the existing JMS Connection Factory and Destination JNDI setup
* Setup a server instance on another box (Box2) without the application. Created the necessary JMS Connection Factories and Destinations. Started the server instance on Box2
* Added a Foreign Server configuration on Box1. Created the connection factory and destinations under this foreign server pointing to Box2
* The Foreign JNDI names are being bound correctly (I verified the JNDI tree on Box1). Restarted the server instance of Box1
Message-Driven Beans deployed on Box1 are unable to retrieve messages from Box2. The exception thrown is given below. Any help in troubleshooting and resolving this issue is appreciated.
<Warning> <EJB> <myserver> <main> <<WLS Kernel>> <> <BEA-010061> <The Message-Driven EJB: MyBean is unable to connect to the JMS destination: jms/my.application.firstQueue. The Error was:
weblogic.jms.common.JMSException: Destination not found
weblogic.jms.common.JMSException: Destination not found
at weblogic.jms.dispatcher.InvocableManager.invocableFind(InvocableManager.java:136)
at weblogic.jms.backend.BESession.createConsumer(BESession.java:153)
at weblogic.jms.backend.BESession.invoke(BESession.java:1457)
at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:643)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:179)
at weblogic.jms.frontend.FEConsumer.<init>(FEConsumer.java:232)
at weblogic.jms.frontend.FESession$3.run(FESession.java:1058)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
at weblogic.jms.frontend.FESession.consumerCreate(FESession.java:1054)
at weblogic.jms.frontend.FESession.invoke(FESession.java:2552)
at weblogic.jms.dispatcher.Request.wrappedFiniteStateMachine(Request.java:643)
at weblogic.jms.dispatcher.DispatcherImpl.dispatchSync(DispatcherImpl.java:179)
at weblogic.jms.client.JMSSession.consumerCreate(JMSSession.java:1860)
at weblogic.jms.client.JMSSession.createConsumer(JMSSession.java:1691)
at weblogic.jms.client.JMSSession.createReceiver(JMSSession.java:1530)
at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(JMSConnectionPoller.java:1720)
at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:2019)
at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:1180)
at weblogic.ejb20.internal.JMSConnectionPoller.startJMSConnectionPolling(JMSConnectionPoller.java:846)
at weblogic.ejb20.deployer.MessageDrivenBeanPoolInfoImpl.start(MessageDrivenBeanPoolInfoImpl.java:234)
at weblogic.ejb20.deployer.EJBDeployer.deployMessageDrivenBeans(EJBDeployer.java:1660)
at weblogic.ejb20.deployer.EJBDeployer.startMessageDrivenBeans(EJBDeployer.java:1555)
at weblogic.t3.srvr.T3Srvr.startMDBs(T3Srvr.java:948)
at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:1024)
at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
at weblogic.Server.main(Server.java:32)
Edited by: user8773992 on Sep 2, 2009 11:31 AM1 - Ensure that the MDB is configured to reference the remote connection factory AND remote destination.
2 - If using the foreign JMS server facility, ensure that it defines the URL of the remote cluster/server, a connection factory mapping, and a destination mapping. Also ensure that the MDB connection factory and destination descriptor fields reference the local JNDI names for the mappings.
3 - If not using the foreign JMS server facility, ensure that the MDB descriptor has the URL of the remote cluster, and a destination JNDI name that's in the remote cluster. (The connection factory JNDI name is not needed in this case, as the MDB will automatically look for a default connection factory that MDB's use.)
I think the MDB chapter of the EJB programmer's guide will likely be helpful here. The latest documentation for the latest release may be more up-to-date than 8.1 -- the concepts are the same with the newer releases.
Tom -
Using a Foreign JMS Destination as a JMS Event Generator Subscription
NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
problem here. From the wliconsole, the only queues listed to have events
generated from are local ones.
Hello,
I'm trying to create a workflow that is started by a JMS message queue
event.
I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
queue
on a remote WebLogic 8.1 installation, publish the incoming messages to
a channel,
then initiate a workflow by subscribing to that channel. Here's a copy
of my configuration
file for the tool:
<message-broker-jms-event-generator-def
source-jndi-name="SearchInputQueue"> <channel
name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
I tried to tackle this by configuring a foreign JMS Server, Connection
Factory,
and Destination using the Weblogic Admin Console. Below are the
parameters I used
to define the remote connection
Foreign JMS Server:
jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
connection
url: //OPER1090:7001
Foreign connection factory:
local jndi name: FtsFactory remote jndi name:
weblogic.jws.jms.QueueConnectionFactory
(Are username and password required?)
Foreign JMS Destination:
local jndi name: SearchInputQueue remote jndi name:
InternalSearchInputQueue
After I try to deploy my generated JMS Event jar, I receive the
following error:
<Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
Message-Driven
E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
the JMS
de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
destination
with the JNDI name: SearchInputQueue could not b e found. Please ensure
that the
JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
destination has
been deployed.>
I'm pretty sure the problem is simply that my syntax is off somewhere in
my configuration.
I found the existing BEA documentation to be a bit too generic,
containing no
specific examples of the proper syntax to use for this task. Can anyone
offer
any advice or better, a working example? Any BEA reps out there?NOTE THIS IS BUMPED UP FROM ROBERT NORTON'S POST. I am having the same
problem here. From the wliconsole, the only queues listed to have events
generated from are local ones.
Hello,
I'm trying to create a workflow that is started by a JMS message queue
event.
I'm trying to use the WLIJMSEventGenTool in WebLogic 8.1 to listen to a
queue
on a remote WebLogic 8.1 installation, publish the incoming messages to
a channel,
then initiate a workflow by subscribing to that channel. Here's a copy
of my configuration
file for the tool:
<message-broker-jms-event-generator-def
source-jndi-name="SearchInputQueue"> <channel
name="/srm/sInput/sInput" /> </message-broker-jms-event-generator-def >
I tried to tackle this by configuring a foreign JMS Server, Connection
Factory,
and Destination using the Weblogic Admin Console. Below are the
parameters I used
to define the remote connection
Foreign JMS Server:
jndi initial context factory: weblogic.jndi.WLInitialContextFactory jndi
connection
url: //OPER1090:7001
Foreign connection factory:
local jndi name: FtsFactory remote jndi name:
weblogic.jws.jms.QueueConnectionFactory
(Are username and password required?)
Foreign JMS Destination:
local jndi name: SearchInputQueue remote jndi name:
InternalSearchInputQueue
After I try to deploy my generated JMS Event jar, I receive the
following error:
<Jun 6, 2003 10:31:50 AM EDT> <Warning> <EJB> <BEA-010061> <The
Message-Driven
E JB: SearchInputQueue-UnorderedMessageListener is unable to connect to
the JMS
de stination: SearchInputQueue. The Error was: [EJB:011010]The JMS
destination
with the JNDI name: SearchInputQueue could not b e found. Please ensure
that the
JNDI name in the weblogic-ejb-jar.xml is correct , and the JMS
destination has
been deployed.>
I'm pretty sure the problem is simply that my syntax is off somewhere in
my configuration.
I found the existing BEA documentation to be a bit too generic,
containing no
specific examples of the proper syntax to use for this task. Can anyone
offer
any advice or better, a working example? Any BEA reps out there? -
Browse jms destinations on managed servers (from admin server)
I need to browse JMS destinations from the admin server (in a WebLogic
9.2 console extension) that are only deployed on the managed servers.
I can get destination attributes via the domain runtime server, but
no JNDI or actually browse the destinations. All destinations in
which I am interested are queues.
I know I can change my initial context, but if that is the way to go, is there a way to determine the managed
servers' URLs at runtime?
Thank you for any help,
Sethhi
this worked for me (on 8.1). I suppose there are
better ways in 9.2
Context adminCtx = null;
adminCtx = getInitialContextForAdminServer();
MBeanHome adminhome = (MBeanHome)
adminCtx.lookup(MBeanHome.ADMIN_JNDI_NAME);
// Get the list of running managed
ning managed servers and iterate over itSet
Set srSet =
Set srSet =
adminhome.getMBeansByType("ServerRuntime");
Iterator sr_iter = srSet.iterator();
while (sr_iter.hasNext())
ServerRuntimeMBean bean =
timeMBean bean = (ServerRuntimeMBean) sr_iter.next();
// Get the home for the managed
for the managed server
MBeanHome remoteHome = (MBeanHome)
me = (MBeanHome) adminCtx.lookup(MBeanHome.JNDI_NAME
+ "." + bean.getName());
// Get the MBeanServer for the
anServer for the managed server
MBeanServer rmbs =
eanServer rmbs = remoteHome.getMBeanServer();
//invoke it
ObjectName objectName= new
objectName= new ObjectName("$mbean");
rmbs.invoke(objectName,operation,params,types);
Edited by deepshet at 05/05/2007 10:00 AMThank you for the help.
MBeanHome is deprecated as of 9.0, so I was unable to directly use your example. You have helped though, thank you.
As of now I am querying the domain runtime server for:
ObjectName("com.bea:*,Type=ServerRuntime")
I am then iterating through the returned Set to get the server URLs and then setting my InitialContext with a PROVIDER_URL of the managed servers. This allows me to Look Up a Destination without JNDI based on step 4 from [url http://edocs.bea.com/wls/docs92/jms/implement.html#wp1313933]here. I can then browse as needed.
The ugly part is that if I include the Admin URL in my PROVIDER_URL then it does not work, so I am checking for it as I loop through the set of ServerRuntimes and not including it.
Further though slightly less annoying is that the managed server URLs include "t3://" but if I leave it in there, a malformed URL exception is thrown when setting the PROVIDER_URL. So I also remove all of those and then preppend one on the front for PROVIDER_URL as I actually need.
It is not pretty, but it is working on the only cluster I have been able to try thus far.
If anyone was a cleaner suggestion, please share. -
JMS destination and queue in jndi.properties
I am using activemq to create a very simple jms application.
But there is a point I have not understand.The administered connection factory object that I use is org.activemq.jndi.ActiveMQInitialContextFactory which is the ActiveMq specific object. Do I have to do the same with the destination object?I read that Destination is also an administered object so I have to use an object of the ActiveMq? Specifically in the jndi properties where I define the queue property the value must be:
1.an activeMq object
2.a java class that implements the javax.jsm.Queue interface
3.a physical name of another server?
and in the code where I look up the destination object
Destination destination = (Destination) jndiContext.lookup(queueProp);What exactly will be the queueProp? I would appreciate an example
Thanking you in advance.I've read the documentation but I am afraid I miss some points.
First of all I use the following code from an example in the net where the <b> activemq.jar is >/b> used and the jndi.properties is not used at all and the following code is working:package jms;
import org.activemq.ActiveMQConnectionFactory;
import javax.jms.Connection;
import javax.jms.DeliveryMode;
import javax.jms.Destination;
import javax.jms.ExceptionListener;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
import javax.jms.TextMessage;
* Hello world!
public class App {
public static void main(String[] args) throws Exception {
thread(new HelloWorldBroker(args), true);
Thread.sleep(1000);
thread(new HelloWorldProducer(), false);
thread(new HelloWorldProducer(), false);
thread(new HelloWorldConsumer(), false);
Thread.sleep(1000);
thread(new HelloWorldConsumer(), false);
Thread.sleep(1000);
thread(new HelloWorldConsumer(), false);
thread(new HelloWorldProducer(), false);
Thread.sleep(1000);
thread(new HelloWorldProducer(), false);
thread(new HelloWorldConsumer(), false);
public static void thread(Runnable runnable, boolean daemon) {
Thread brokerThread = new Thread(runnable);
brokerThread.setDaemon(daemon);
brokerThread.start();
public static class HelloWorldBroker implements Runnable {
private final String[] args;
public HelloWorldBroker(String[] args) {
this.args = args;
public void run() {
org.activemq.broker.impl.Main.main(args);
public static class HelloWorldProducer implements Runnable {
public void run() {
try {
// Create a ConnectionFactory
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Create a Connection
Connection connection = connectionFactory.createConnection();
connection.start();
// Create a Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination (Topic or Queue)
Destination destination = session.createQueue("TEST.FOO");
// Create a MessageProducer from the Session to the Topic or Queue
MessageProducer producer = session.createProducer(destination);
producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT);
// Create a messages
String text = "Hello world! From: " + Thread.currentThread().getName() + " : " + this.hashCode();
TextMessage message = session.createTextMessage(text);
// Tell the producer to send the message
System.out.println("Sent message: "+ message.hashCode() + " : " + Thread.currentThread().getName());
producer.send(message);
// Clean up
session.close();
connection.close();
catch (Exception e) {
System.out.println("Caught: " + e);
e.printStackTrace();
public static class HelloWorldConsumer implements Runnable, ExceptionListener {
public void run() {
try {
// Create a ConnectionFactory
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Create a Connection
Connection connection = connectionFactory.createConnection();
connection.start();
connection.setExceptionListener(this);
// Create a Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination (Topic or Queue)
Destination destination = session.createQueue("TEST.FOO");
// Create a MessageConsumer from the Session to the Topic or Queue
MessageConsumer consumer = session.createConsumer(destination);
// Wait for a message
Message message = consumer.receive(1000);
if (message instanceof TextMessage) {
TextMessage textMessage = (TextMessage) message;
String text = textMessage.getText();
System.out.println("Received: " + text);
} else {
System.out.println("Received: " + message);
consumer.close();
session.close();
connection.close();
} catch (Exception e) {
System.out.println("Caught: " + e);
e.printStackTrace();
public synchronized void onException(JMSException ex) {
System.out.println("JMS Exception occured. Shutting down client.");
}But I want to make it work with jndi.properties.
So I am trying to use a code where connectionFactory and Destination are loaded from the jndi properties.After experimenting with code
the following is working
try {
connectionFactory = (ConnectionFactory) jndiContext.lookup("connectionFactory");
Destination destination = (Destination) jndiContext.lookup("QUEUE/MYQUEUE");
Connection connection = connectionFactory.createConnection();
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);if only I go to the activeqm/bin folder and open the broker.If I did that in the previous code(with no jndi prop)
there was an exception that was saying that the port was already used.So I do not understand why in the one case opening broker is necessary for the connection and on the other hand it causes a problem.
Moreover in the case that I invoke broker from bin folder. In this case I would like to ask a question.The activemq.xml is necessary? If yes it is there where we define the queue?
If not where else apart from the jndi.properties do we define queue?
Please if is possible provide me with an example of the necessary places that we define a queue.
Thank you -
How do I set up jms destination of OSB Alert?
According to the document description,a JMS destination URI in the format: jms://host:port/factoryJndiName/destJndiName. My jms is on a cluster, So, I Set this URI: jms://10.1.1.100:8001,10.1.1.101:8001,10.1.100:8002,10.1.1.101:8002/factoryJndiName/destJndiName.
When the machine (10.1.1.100) was shutdown, the alert will error and says "can not find JMS destination".
How do I set up jms destination? tks!
Edited by: user12382989 on 2009-12-23 下午5:03Did you consider using JMS distributed destination for your use-case?
http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs103/jms/dds.html
Manoj -
AQJMSMDBEJB is unable to connect to the JMS destination
I am trying to integrate WebLogic 8.1 MDB and Oracle 9i AQ using a start-up class that creates XAConnection and Queue. However, I'm currently getting this error and I'm not sure what I need to do.
<The Message-Driven EJB: AQJMSMDBEJB is unable to connect to
the JMS destination: AQJMSQueue. The Error was:
oracle.jms.AQjmsException: JMS-137: Payload factory must be specified for destinations with ADT payloads
oracle.jms.AQjmsException: JMS-137: Payload factory must be specified for destinations with ADT payloads
at oracle.jms.AQjmsError.throwEx(AQjmsError.java:266)
at oracle.jms.AQjmsConsumer.<init>(AQjmsConsumer.java:326)
at oracle.jms.AQjmsConsumer.<init>(AQjmsConsumer.java:196)
at oracle.jms.AQjmsSession.createReceiver(AQjmsSession.java:1415)
at oracle.jms.AQjmsSession.createReceiver(AQjmsSession.java:1386)
at weblogic.deployment.jms.WrappedTransactionalSession_oracle_jms_AQjmsXAQueueSession.createReceiver(Unknown Sou
rce)
at weblogic.ejb20.internal.JMSConnectionPoller.setUpQueueSessions(JMSConnectionPoller.java:1609)
at weblogic.ejb20.internal.JMSConnectionPoller.createJMSConnection(JMSConnectionPoller.java:1844)
at weblogic.ejb20.internal.JMSConnectionPoller.connectToJMS(JMSConnectionPoller.java:1087)
at weblogic.ejb20.internal.JMSConnectionPoller.trigger(JMSConnectionPoller.java:970)
at weblogic.time.common.internal.ScheduledTrigger.run(ScheduledTrigger.java:243)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118)
at weblogic.time.common.internal.ScheduledTrigger.executeLocally(ScheduledTrigger.java:229)
at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigger.java:223)
at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:50)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
>1. Security:
Perhaps you need to check the security configuration for the queue (Q) to ensure it matches the MDB (M) security parameters.
Q:
Weblogic Security Realms: User/Group
JMSModule Security: Role/Group , Policy: Role
M:
MDB: MDBRole/Principal (User) in weblogic-ejb-jar.xml
2. Double check that the queue created in weblogic
3. Test your queue (manually create a new message using weblogic console) or observe unconsumed messages (if producer has run and placed messages)
Carlos -
i tried to sign in for icloud set up for the first time with my apple ID, But unable to get through as i receive a message saying your account limit is reached, then how to proceed.
I can't say why it should be doing this. If it persists then your only options are to set it up on another Mac or iOS device if you can (then you will be able to sign into it), or failing that to contact Support - though I don't know how helpful they are likely to be.
To contact iCloud Support: if you currently happen to have AppleCare, either because you recently bought Apple hardware or have paid to extend the inititial period, you can contact them here:
http://www.apple.com/support/icloud/contact/
You will need the serial number of the covered hardware.
If you are not covered by AppleCare, then - in common with other free email services - there is no free support and you may be asked to pay a fee. -
Error in execution of mdx formula in ASO:: Recursion limit[31] reached
Hi,
We are implementing the ASO cube using the Hyperion Essbase version 9.3.1.
Few dimension members need to have formulas which we are writing using the mdx.
Mdx formulas are successfully verified but at retrieval time, it is throwing the following error-
Error executing formula for[604120](line 0) : Recursion limit[31] reached.
In outline, mdx formulas has been assigned to member name '604120' and '604520' in 'Report Line (P/L)' dimension as per business requirement.
Formula on member '604520' = [604120]-[604320] +[604220]
And
Formula on member '604120' =
IIF(
IS([Time].CurrentMember, [Jan]),
([Report Line (P/L)].[604520], [Dec], [Year].CurrentMember.PrevMember),
([Report Line (P/L)].[604520],[Time].CurrentMember.PrevMember, [Year].CurrentMember)
On further investigation, it seems there is dependencies in formulas. And it need to be rewrite.
I am new in mdx queries. Please help me to write. Quick respone will be appreciated.
Thanks & Regards,
Mohithttp://essbase.ru/ wrote:
Check Essbase CFG
- it's Error from settings limitisWhich setting are you referring to for ASO.
Cheers
John
http://john-godowin.blogspot.com/ -
JMS Destination object not found
Hi everyone,
I have a weird problem with SunONE Message Queue 3.
I have a queue and a connection factory defined (using the SunONE Application Server 7 Admin Console) as well as a physical resource.
I can verify their existance using asadmin....
asadmin>list-jmsdest -u admin server1
queue_1 queue {}
asadmin>list-jms-resources -u admin server1
jms/newqueue_1
jms/newQCF_1
When I attempt to deploy a message driven EJB I get the following error
SEVERE ( 1484): javax.naming.InvalidNameException: JMS Destination object not found:`jms/newqueue_1`
This question has already been asked on the App Server board here http://swforum.sun.com/jive/thread.jspa?threadID=15517&tstart=0 (that post is nine months old btw).
I am posting this here in the hope that someone more familiar with MQ3 may have an idea of how to help us.
Thanks in advance.I have now solved this problem. External JNDI resources are required in the AppServer.
They can be created with the following commands:
asadmin>create-jndi-resource jndilookupname jms/newQCF_1 resourcetype javax.jms.QueueConnectionFactory factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi:java.naming.security.authentication=none newQCF_1
asadmin>create-jndi-resource jndilookupname jms/queue_1 resourcetype javax.jms.Queue factoryclass com.sun.jndi.fscontext.RefFSContextFactory enabled=true --property java.naming.provider.url=file\:///c\:/java/mqjndi newqueue_1
Both these commands assume that the file system context is being used however the LDAP commands are similar (just more properties).
This step, which seems vital, is missing from the AppServer documentation (in fact it specifically states that this step is not necessary). The irony is that I found the answer in the IBM MQ documentation! -
Additional JMS Destination Attributes
How can I associate additional attributes to an Administered Object in
JNDI? Specifically, I want to add a JMS Destination (Queue) to the
JNDI context. I want the Queue to also have 2 additional attributes
for my application to process. The additional attributes I need to
associate with the Administered Queue Object are: Reply-To-Queue and a
boolean value (log message or don't log message).
I went into the JNDI namespace (iPlanet Directory Server in this
case), and manually added additional attributes in the
javaReferenceAddress. The JMS API did not choke on this, but I can't
figure out a way to expose this either.
I found that if I in the JMS receiver queue tick Specify Additional JMS Message Properties (Maximum of 10) and provide the name JMSReplyTo and the value Sting I can collect the ReplyTo queue name via a parameter in the operation mapping and the value of that parameter I can set to the Dynamic Configuration variable DCJMSMessageProperty0 in a UDF like this:
String x = container.getInputParameters().getString("replyToQueueName");
DynamicConfiguration conf1 = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION) ;
DynamicConfigurationKey key1 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/JMS", "DCJMSMessageProperty0") ;
conf1.put(key1, x);
return "";
Maybe you are looking for
-
I have all these songs that I want to store on my iPod but not on my computer, and I know that by choosing to manually manage my music I can still hang on to these songs when I add new songs to my iPod. However, what if I want to delete songs off of
-
Trying to move the Media Cache Folder
I have the current version of Premiere Pro CC on OSX 10.9.4. I want to move my media cache files and media cache database folder from the default, USERS/LIBRARY/APPLICATION SUPPORT/ADOBE/COMMON to my external media scratch drive. I have changed this
-
Fan Issues with DV6-7000 series (probably with DV7-7000 series too)
So I've installed Arch on my brand new laptop, and I'm unable to change the fan speed. The fan does run, but on the lowest possible setting, which means the laptop gets very hot. I've followed the wiki here: https://wiki.archlinux.org/index.php/Fan_S
-
SCCM Undo ability - Auto and Manual Remediation
Is there a way to rollback or undo the actions committed by automatic, or manual for that matter, remediation?
-
✓ not output correctly from DOM parser
Need a small help again. in my original XMl file, I have an entity ʟ It represents(ALT 671) a check symbol(a box). But the output XMl file from my DOMparser represents it as a question mark, which is NOT what I want. I'm using DOM parser with JAXP AP