OSB : Alert Destination not alerting on the JMS destination Topic
Hi,
I am using OSB alert destination to alert on an SLA alert of a proxy service.
The alert destnation configuration has a JMS destination of Topic type. Syntax which i followed is jms://localhost:8011/weblogic.JmsConnectionFactory/weblogic.ReportingTopic
I am able to see the alerts on the dashboard but then i cannot get the alert on topic.
I could see the below exception in log file:
Alert Rule Name: test.
com.bea.wli.sb.transports.TransportException: [JMSClientExceptions:055091]Destination JmsModule!ReportingTopic must be a queue
at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.send(JmsOutboundMessageContext.java:570)
at com.bea.wli.sb.transports.jms.JmsTransportProvider.sendMessageAsync(JmsTransportProvider.java:681)
at sun.reflect.GeneratedMethodAccessor1206.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.wli.sb.transports.Util$1.invoke(Util.java:83)
at $Proxy123.sendMessageAsync(Unknown Source)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageWithoutService(TransportManagerImpl.java:490)
at com.bea.wli.sb.transports.TransportManagerImpl.sendMessageAsync(TransportManagerImpl.java:417)
at com.bea.wli.sb.init.FrameworkStarter$TransportServiceImpl.sendMessageAsync(FrameworkStarter.java:391)
at com.bea.alsb.alert.action.jms.JmsActionProvider.executeAction(JmsActionProvider.java:346)
at com.bea.alsb.alert.AlertDestinationHandlerImpl.sendAlertToDestination(AlertDestinationHandlerImpl.java:105)
at com.bea.alsb.alert.AlertDestinationHandlerImpl.sendAlertToDestination(AlertDestinationHandlerImpl.java:67)
at com.bea.alsb.alert.sla.SlaAlertManager.generateAlert(SlaAlertManager.java:149)
at com.bea.alsb.alert.sla.SlaAlertManager.access$100(SlaAlertManager.java:33)
at com.bea.alsb.alert.sla.SlaAlertManager$RuleListenerForAlertGeneration.onRuleTrue(SlaAlertManager.java:227)
at com.bea.alsb.rule.RuleEngine$ListenerInvocation.invokeListener(RuleEngine.java:76)
at com.bea.alsb.rule.RuleEngine$ListenerInvocation.access$000(RuleEngine.java:61)
at com.bea.alsb.rule.RuleEngine.addFact(RuleEngine.java:115)
at com.bea.alsb.alert.sla.SlaAlertManager.intervalCompleted(SlaAlertManager.java:202)
at com.bea.alsb.alert.sla.TaskCollector$RuleEvaluationTask.run(TaskCollector.java:177)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:139)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)
at java.lang.Thread.run(Thread.java:619)
In the alert destination i selected the destination type as topic. Is there anything i am missing. I checked the documentation it says that the jms destination in alert destination can be Queue/Topic. Please suggest. Thanks in advance
A topic wont persist the message, unlike a queue, if there are no subscribers attached to it currently or if there are no durable subscriptions. Create a proxy service to consume the alert from the topic and see whether you are getting it within the proxy's pipeline.
Similar Messages
-
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) -
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 -
[OSB 10.3.1] error adding a JMS destination
Hi all,
I'm migrating my ALSB 3.0 project into OSB 10.3.1. So I've recreated the clustered domain in OSB as I did with ALSB and then ready to run my
ebAdmin.cmd properties\local\admin.DVE.osb_cluster1.SYS.properties properties\local\admin.DVE.osb_cluster1.APP.properties create-jms-core
in order to create my JMS resources ... all go find excpet at the end when the script tries to activate the changes:
Buildfile: admin.xml
create-jms-core:
admin:
[java] Initializing WebLogic Scripting Tool (WLST) ...
[java] Welcome to WebLogic Server Administration Scripting Shell
[java] Type help() for help on available commands
[java] ===============================================================
[java] Loading admin properties file from : ./admin.properties
[java] ===============================================================
[java] Connecting to t3://localhost:7001 with userid weblogic ...
[java] Successfully connected to Admin Server 'AdminServer' that belongs to domain 'osb_cluster1'.
[java] Warning: An insecure protocol was used to connect to the
[java] server. To ensure on-the-wire security, the SSL port or
[java] Admin port should be used instead.
[java] Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root.
[java] For more help, use help(domainRuntime)
[java] Location changed to edit tree. This is a writable tree with
[java] DomainMBean as the root. To make changes you will need to start
[java] an edit session via startEdit().
[java] For more help, use help(edit)
[java] You already have an edit session in progress and hence WLST will
[java] continue with your edit session.
[java] Starting an edit session ...
[java] Started edit session, please be sure to save and activate your
[java] changes once you are done.
[java] ===============================================================
[java] Creating JMS core resources
[java] ===============================================================
[java] #### found managed: m01
[java] #### ready to create file store EventBusFileStore_m01
[java] #### created file store EventBusFileStore_m01
[java] #### ready to create JMS server EventBusJMSServer_m01
[java] #### created JMS server EventBusJMSServer_m01
[java] #### found managed: m02
[java] #### ready to create file store EventBusFileStore_m02
[java] #### created file store EventBusFileStore_m02
[java] #### ready to create JMS server EventBusJMSServer_m02
[java] #### created JMS server EventBusJMSServer_m02
[java] #### ready to create JMS module EventBusSystemModule
[java] #### created JMS module EventBusSystemModule
[java] #### ready to create connection factory EventBusConnectionFactory
[java] #### created connection factory EventBusConnectionFactory
[java] #### ready to create XA connection factory EventBusXAConnectionFactory
[java] #### created XA connection factory EventBusXAConnectionFactory
[java] #### ready to create dummyConsumerEventConsumer1OutboundQueue
[java] #### created dummyConsumerEventConsumer1OutboundQueue
[java] #### ready to create dummyConsumerEventConsumer1RecoveryOutboundQueue
[java] #### created dummyConsumerEventConsumer1RecoveryOutboundQueue
[java] #### ready to set error destination dummyConsumerEventConsumer1RecoveryOutboundQueue for dummyConsumerEventConsumer1OutboundQueue
[java] #### error destination set successfully for dummyConsumerEventConsumer1OutboundQueue
the same for other many Uniform Distributed Queues
[java] #### ready to create MonitorTopic
[java] #### created MonitorTopic
[java] Saving all your changes ...
[java] Saved all your changes successfully.
[java] Activating all your changes, this may take a while ...
[java] The edit lock associated with this edit session is released
[java] once the activation is completed.
[java] This Exception occurred at Sat Aug 15 14:12:14 CEST 2009.
[java] weblogic.application.ModuleException: ERROR: Unable to add destination EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue to the back end wlsbJMSServer_auto
_1
[java] at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:197)
[java] at weblogic.jms.backend.udd.UDDEntity.prepare(UDDEntity.java:444)
[java] at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1704)
[java] at weblogic.jms.module.JMSModule$EntityState.setState(JMSModule.java:1667)
[java] at weblogic.jms.module.JMSModule$EntityState.access$100(JMSModule.java:1608)
[java] at weblogic.jms.module.JMSModule.prepare(JMSModule.java:277)
[java] at weblogic.jms.module.ModuleCoordinator.prepare(ModuleCoordinator.java:185)
[java] at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:93)
[java] at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:387)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
[java] at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:58)
[java] at weblogic.application.internal.flow.DeploymentCallbackFlow.prepare(DeploymentCallbackFlow.java:42)
[java] at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:615)
[java] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:37)
[java] at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:191)
[java] at weblogic.application.internal.SingleModuleDeployment.prepare(SingleModuleDeployment.java:16)
[java] at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:155)
[java] at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
[java] at weblogic.deploy.internal.targetserver.operations.ActivateOperation.createAndPrepareContainer(ActivateOperation.java:197)
[java] at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doPrepare(ActivateOperation.java:89)
[java] at weblogic.deploy.internal.targetserver.operations.AbstractOperation.prepare(AbstractOperation.java:217)
[java] at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentPrepare(DeploymentManager.java:723)
[java] at weblogic.deploy.internal.targetserver.DeploymentManager.prepareDeploymentList(DeploymentManager.java:1190)
[java] at weblogic.deploy.internal.targetserver.DeploymentManager.handlePrepare(DeploymentManager.java:248)
[java] at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.prepare(DeploymentServiceDispatcher.java:159)
[java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doPrepareCallback(DeploymentReceiverCallbackDeliverer.java:157)
[java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$000(DeploymentReceiverCallbackDeliverer.java:12)
[java] at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$1.run(DeploymentReceiverCallbackDeliverer.java:45)
[java] at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
[java] at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
[java] at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
[java] Caused by: weblogic.jms.common.JMSException: [JMSExceptions:045050]A destination of name EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue has a jms-create
-destination-identifier of name EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsumer1OutboundQueue. However, another destination of name EventBusSystemModule!wlsbJMSServer_auto_1@dummy
ConsumerEventConsumer1OutboundQueue has the same jms-create-destination-identifier. Two destinations with the same jms-create-destination-identifier cannot be co-located on the JMSServer named wlsbJMS
Server_auto_1.
[java] at weblogic.jms.backend.BackEnd.addDestination(BackEnd.java:1527)
[java] at weblogic.jms.backend.BEDestinationRuntimeDelegate.prepare(BEDestinationRuntimeDelegate.java:195)
[java] ===============================================================
[java] #### ERROR - unexpected error: main.WLSTException
[java] ===============================================================
[java] No stack trace available.
[java] Edit session is cancelled successfully
[java] Disconnected from weblogic server: AdminServer
[java] Unexpected error: main.WLSTException
[java]
[java] Problem invoking WLST - Traceback (innermost last):
[java] File "K:\EventBus\scripts\admin.py", line 910, in ?
[java] File "K:\EventBus\scripts\admin.py", line 216, in admin
[java] File "K:\EventBus\scripts\admin.py", line 366, in configJMSCore
[java] File "K:\EventBus\scripts\admin.py", line 681, in endTransaction
[java] File "<iostream>", line 364, in activate
[java] WLSTException: Error occured while performing activate : Error while Activating changes.ERROR: Unable to add destination EventBusSystemModule!wlsbJMSServer_auto_1@dummyConsumerEventConsume
r1OutboundQueue to the back end wlsbJMSServer_auto_1 Use dumpStack() to view the full stacktrace
what I don't understand is the fact that my EventBusSystemModule in some way references wlsbJMSServer_auto_1 (not created by my script but this JMS server is already available in OSB).
I run successfully the above script againt ALSB 3.0 but now with OSB something goes wrong.
As you see from above output, the script:
- create file store EventBusFileStore_m01 (m01 is the m01 managed server in the cluster)
- create JMS server EventBusJMSServer_m01
- create file store EventBusFileStore_m02
- create JMS server EventBusJMSServer_m02
- created JMS module EventBusSystemModule
from py point of view the code is:
def createJMSModule(jmsModuleName, cluster):
print '#### ready to create JMS module ' + jmsModuleName
cd('/')
jmsModule = cmo.createJMSSystemResource(jmsModuleName)
cd('/JMSSystemResources/' + jmsModuleName)
set('Targets',jarray.array([ObjectName('com.bea:Name=' + cluster + ',Type=Cluster')], ObjectName))
print '#### created JMS module ' + jmsModuleName
print
about the creation of the UDQ
def createUniformDistributedQueue(destinationName, jndiDestination, jmsModuleName):
print '#### ready to create ' + destinationName
path = '/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName
try:
cd(path)
except WLSTException,e:
failed = 'Check if create-jms-core task has been already executed'
raise Failure(failed)
cmo.createUniformDistributedQueue(destinationName)
cd('/JMSSystemResources/' + jmsModuleName + '/JMSResource/' + jmsModuleName + '/UniformDistributedQueues/' + destinationName)
cmo.setJNDIName(jndiDestination)
cmo.setLoadBalancingPolicy('Round-Robin')
cmo.setDefaultTargetingEnabled(true)
print '#### created ' + destinationName
print
I'm trying to understand where is the problem ....
Thanks in advance
ferpSounds like the database information is wrong, Have you tried correctign this through the BPM Process administrator? There are a few places where you setup database configuration it's probably one of them.
I'm am fairly new so I can only offer up that.
I'm having a nightmare myself deplying a process engine, good luck
mARK -
Excel Destination not showing all the available source columns automatically.
I have an excel source, i am using some transformation and conditional split and then loading the final data into few excel destination. i checked in the data pipe line, still it loads the data into excel destination it's having all the columns of the source
but while editing the excel destination for mapping it showing only 1 column F1. My question is it compulsory to have the column names in excel destination before we load data to it ? because i have to load my data into multiple excel files and i find it little
difficult to manually copy and paste column names in all excel destination. Is there some work around for it ?yes, the destination must be pre-defined. You can either use an existing Excel file (as a template) or generate the target at design time and it remains static onwards.
Arthur My Blog -
MDB not connecting to Foreign JMS destination
I'm running WL 9.2 MP3 on Windows machine. I'm deploying a rudimentary MDB congured against as Foreign Service JMS provider against MQ V6.0 with local queue running on the same local machine.
I'm using Maven2 to build all the sub-projects - including my ejb project and enterprise application project. The EAR file deploys successfully without any errors (one minor warning about lack of explicity transactionsi in onMessage() method...). I don't see any errors but my MDB Connection Status is "disconnected" - I've enabled Debug for key sections under default and weblogic sections - still not errors of any kind but it does not connect! What can I do to find the problem?!
Here is my EJB definition:
public class AnotherBean extends GenericMessageDrivenBean implements
MessageDrivenBean, MessageListener {
private static final long serialVersionUID = 1L;
/* When the bean is activated, this method will be invoked
* @see javax.jms.MessageListener#onMessage(javax.jms.Message)
public void onMessage(Message msg) {
System.out.println("\n=========================================");
System.out.println("=> Message received!");
if (msg instanceof TextMessage) {
try {
System.out.println("=> Message: "
+ ((TextMessage) msg).getText());
} catch (JMSException e) {
e.printStackTrace();
// Place the message on to the reply queue (WLReplyQueue)
System.out.println("=========================================");
Here is my ejb-jar.xml:
<ejb-jar
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
version="2.1">
<enterprise-beans>
<message-driven>
<ejb-name>AnotherBean</ejb-name>
<ejb-class>com.ibm.myclient.gems.ejb.AnotherBean</ejb-class>
<transaction-type>Container</transaction-type>
<activation-config>
<activation-config-property>
<activation-config-property-name>destinationType</activation-config-property-name>
<activation-config-property-value>javax.jms.Queue</activation-config-property-value>
</activation-config-property>
</activation-config>
</message-driven>
</enterprise-beans>
</ejb-jar>
Here is my weblogic-ejb-jar.xml:
<weblogic-ejb-jar
xmlns="http://www.bea.com/ns/weblogic/90" xmlns:j2ee="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/90 http://www.bea.com/ns/weblogic/90/weblogic-ejb-jar.xsd">
<weblogic-enterprise-bean>
<ejb-name>AnotherBean</ejb-name>
<message-driven-descriptor>
<destination-jndi-name>jms/WLReceiverQueue</destination-jndi-name>
<connection-factory-jndi-name>jms/WLReceiverQCF</connection-factory-jndi-name>
</message-driven-descriptor>
</weblogic-enterprise-bean>
</weblogic-ejb-jar>
WL JMS module is setup like this:
<weblogic-jms xmlns="http://www.bea.com/ns/weblogic/90" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schema
Location="http://www.bea.com/ns/weblogic/920 http://www.bea.com/ns/weblogic/920.xsd">
<foreign-server name="MQTestForeignServer">
<default-targeting-enabled>true</default-targeting-enabled>
<foreign-destination name="ReceiverDetails">
<local-jndi-name>jms/WLReceiverQueue</local-jndi-name>
<remote-jndi-name>MQSenderQueue</remote-jndi-name>
</foreign-destination>
<foreign-destination name="ReplyDetails">
<local-jndi-name>jms/WLReplyQueue</local-jndi-name>
<remote-jndi-name>MQReceiverQueue</remote-jndi-name>
</foreign-destination>
<foreign-connection-factory name="ReceiverCF">
<local-jndi-name>jms/WLReceiverQCF</local-jndi-name>
<remote-jndi-name>MQSenderQCF</remote-jndi-name>
</foreign-connection-factory>
<foreign-connection-factory name="ReplyCF">
<local-jndi-name>jms/WLReplyQCF</local-jndi-name>
<remote-jndi-name>MQReceiverQCF</remote-jndi-name>
</foreign-connection-factory>
<initial-context-factory>com.sun.jndi.fscontext.RefFSContextFactory</initial-context-factory>
<connection-url>file:/ C:/JNDI-Directory</connection-url>
</foreign-server>
</weblogic-jms>Thanks for the tips - I solved the problem. I first recreated my .bindinds file making sure that both QCF objects are in there (it turned out that only ONE of them was there and not the other). Next, I also removed an extra space " " from the URL reference in the Foreign JMS service setup in the console:
was like this initially:
<connection-url>file:/ C:/JNDI-Directory</connection-url>
and I changed it to this - removing single space after first "/":
<connection-url>file:/C:/JNDI-Directory</connection-url>
Restarted the whole thing and it worked! Thanks again. -
Recall a message from the JMS destination
We are sending messages to a queue, using IBM MQ Series for messaging and JMS as the messaging system.
Could you please let me know, if there is a way we can recall messages sent to the queue?
Thanks,
Jayashree.Are you using session or transactions?
If yes, you can do rollback.(I hope thats what you are looking for).
If you are looking for a way to get the message from the queue without
removing it, why not write a client code for that. -
Report and Alert don't executed in the error handler with a JMS proxy service
Hi,
I'm working with OSB 11.1.1.4.0 and I'm facing a problem with the error handler of my JMS proxy service.
My error handler contains two main elements :
- a Report action
- an Alert with a JMS destination defined
When the business service failed the message remain in the queue. It's the expected behavior.
The problem is :
- the report is missing
- the alert is raised but missing in the JMS destination defined in the Alert setting.
I've noticed if I add a Reply with Failure or Success, Report and Alert are successfully executed.
Unfortunately the message don't remain in the JMS queue.
What can I do in order to have my report/alert done and the JMS transaction rollback in order to keep the message in the queue ?
I've already met this problem in the past with alsb v3 and my solution was to add Service Callout in the error handler in order to externalize these actions.
This solution is not convenient and I hope another solution is possible.Inventorying workgroups can be difficult, especially when it comes to remote access and network security. Because workgroups are not centrally managed, some of the items discussed in this
wiki article on preparing your workgroup environment may require you to visit each machine individually.
For non-domain credentials, you do not use the <systemname>\<user> format, you simply enter the user name. Regarding how to enter the credentials, if you have an account that uses the same username and password on all machines and is an administrator
on all of those machines, then you can enter that in the All computers credentials page of the wizard. You can also do this if they are different user names. However, if some machines have an account with the same user name, such as Administrator,
but different passwords on each machine, you will need to use the Manually enter computer names discovery method, and then enter the information for each group or each machine.
As you can tell, workgroup environments can quickly negate any benefit that the agentless inventory nature of MAP provides.
Please remember to click "Mark as Answer" on the post that helps you, and to click
"Unmark as Answer" if a marked post does not actually answer your question. Please
VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread. -
Report Alerts are not shown on crystal server 2011
Hi,
I have created alerts on From date and To Date. The alert is shown when the difference between From Date and To Date is more than an year. It is shown properly in the crystal report designer. When I am uploading the same report to the server the alerts are not shown on the server.
Can someone help me with the same.
Thanks,
SimranHi Jawahar,
I have uploaded the report in CMC using Add--> Local Document.
For Alerts I have checked the Box 'Enable Alert'. Still I am not getting a Pop Up which I get in the crystal report designer. Is the Alert sent on Crystal Server by email? I have currently selected default setting in Configure Alert Notification.
Regards,
Simran -
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 -
**Alerts could not be receive by all Receipents
Hi all,
I configured Alerts with 4 receipents.
Two receipents and the server are in the network A
other two receipents are in network B
I am in network B who configured Alerts.
Only the other person who is in my network ie B could able to receive the alerts and not receipents in the network A.
Both A and B are connecting to the server through same VPN.
Any openions on this Behavior?
Thanks,
SrinivasaHI,
I think it is related to SMTP configuration problem, check with basis team they will configured for external system. Here problem is system unable to send alrt to external system -
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 -
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? -
Looking up JMS destinations with clustered WLS
From scanning the postings, it appears that in a clustered WLS environment, the
JMS servers are not clustered. As a result, the JMS destinations must be unique
across all of the WLS in the cluster. In addition, there is no failover available
when a JMS server goes down.
With that stated, what I want to know is:
When establishing a JMS connection with a JMS server in a WLS cluster, do I need
to know the JNDI URL for each specific JMS server that is managing the destination(s)
I wish to pub/sub?
Or, is there a 'global' JNDI tree that I can reference and the clustered WLS behind
the scenes will route me to the appropriate JMS server?
If resolving the URL is a manual process, I will need to keep track of which destinations
reside on which JMS servers. This adds an additional maintenance point that I
would like to avoid if possible.
Thanks,
Bob.
One can use Connection Factory to establish connection to particular
destination (queue/topic). connection factories are clustered. so, one don't
need to have knowledge of particular WLS.
"Neal Yin" <[email protected]> wrote in message
news:[email protected]...
> Although there is only one JMS server instance, you can lookup it from
> anywhere in a cluster.
> In another words, JNDI tree is global in a WLS cluster. Just give cluster
> DNS name in your
> URL, you will be fine.
>
> -Neal
>
>
> "Bob Peroutka" <[email protected]> wrote in message
> news:[email protected]...
> >
> > From scanning the postings, it appears that in a clustered WLS
> environment, the
> > JMS servers are not clustered. As a result, the JMS destinations must
be
> unique
> > across all of the WLS in the cluster. In addition, there is no failover
> available
> > when a JMS server goes down.
> >
> > With that stated, what I want to know is:
> >
> > When establishing a JMS connection with a JMS server in a WLS cluster,
do
> I need
> > to know the JNDI URL for each specific JMS server that is managing the
> destination(s)
> > I wish to pub/sub?
> >
> > Or, is there a 'global' JNDI tree that I can reference and the clustered
> WLS behind
> > the scenes will route me to the appropriate JMS server?
> >
> > If resolving the URL is a manual process, I will need to keep track of
> which destinations
> > reside on which JMS servers. This adds an additional maintenance point
> that I
> > would like to avoid if possible.
> >
> > Thanks,
> >
> > Bob.
> >
> >
> >
>
>
-
Are JMS destinations failover save in WL 7?
Are the JMS destinations now failover save in WL 7? In 6.1 they were not and
I heard there are still issues with in WL 7. We're in the process of
evaluating WL 7 and possibly we'd like to use it as our JMS provider.
What are the know issues of WL 7's JMS implementation in regards to failover
safety?
Your comments are appreciated.
Greetings
Bernie
Hi Bernard,
To help support HA,
WL 7 provides a simplified capability to move a JMS server from one WL
server to another. (This is called migration in the docs).
Migration does not occur automatically, but can be activated
via the command-line or by setting up control via an HA
framework such as Veritas. The
relevant files must also be moved (or replicated via SAN,
dual-port-SCSI, Veritas mirror, etc...) - these include JMS file
stores and transaction logs.
WL 7 JMS also provides distributed JMS destinations, these can
continue to work even if one server goes down. These distributed
destinations are more advanced than the clustered destinations other
JMS providers, as well as WL 6.1, provide.
Google search this newsgroup for "HA", high-availability, and/or
"distributed" for more info. Also check out the JMS programmer's guide
as well as the WebLogic admin guide...
Tom, BEA
Bernhard Lenz wrote:
> Are the JMS destinations now failover save in WL 7? In 6.1 they were not and
> I heard there are still issues with in WL 7. We're in the process of
> evaluating WL 7 and possibly we'd like to use it as our JMS provider.
>
> What are the know issues of WL 7's JMS implementation in regards to failover
> safety?
>
> Your comments are appreciated.
> Greetings
> Bernie
>
>
Maybe you are looking for
-
My Grandson has a latest generation touch. Up to this time the only way he downloaded apps was directly to the device via wifi. We just recently installed itunes on their home computer and wanted to be able to sync purchases. When we plugged the i
-
Error while executing Jdev10g Appl
Hi, Please note that I am getting following error while executing my application. Although I have access to update and insert the record on the table,but still it gives the following error. The difference is Its a synonym of the current connected db
-
What are the Exists are available after saving purchase order
Actually My requirement is, When I am clicking on Save button of purchase order, it should send a mail to some person. I know the procedure sending mail through ABAP. But, I don't know where exactly I have to incorporate that code. Please help findin
-
How to send the path as a parameter of a function
how i can write the path in library for send it like paraméter in function. give me the steps thanks
-
I am on XP using PS CS4. Please see the photograph below. I would like to change the color of the shirt/apron of this lady & I was wondering what the best way is to do that. I know if I try replace color, the white bowls change color as well. In the