JMS in clustering
Is it possible to deploy JMS across the cluster. I created a cluster with
four servers and runing 6.0 SP2.
I also created test MYJMSServer2 ( test) and deplyoed it from console and
attached all servers and CLUSTER to it in Target.
I am getting the error message:
JMSServer "MYJMSServer2", cannot be deployed on multiple servers.
Appreciate your help.
Thanks,
AR
I'm confused about this explanation. Dose this mean you have to create 4 different
JMS servers with 4 different JNDI names in the cluster? If so how would a client
write to a "clustered" JMS server? By looking up its JNDI name? Then what's
the point of clustering?
I'm running into this rpoblem as well and would appreciate any clarification
"Zhenxin Wang" <[email protected]> wrote:
>
>Hi, Andy
>
>As I remember, as long the app servers of JMS servers form a cluster,
>the JMS
>servers are said to be clustered. So, it goes with app servers. As for
>JMS server,
>it can only be mapped to one target server. Otherwise, you will get error
>msgs
>when you start your app server.
>
>Hope it helps.
>
>-- zhenxin
>
>"Andy Roger" <[email protected]> wrote:
>>Hi Wang,
>>
>>Thanks for the info.
>>
>>How can I varify that all four JMS servers, I have created, are part
>>of
>>cluster.
>>
>>When I go to each server and check for JMS, each server shows 1 JMS
>server
>>attached and total 1 server. In my openion, iut should be 1 JMS server
>>attached and Toatal servers=4, am I missing something here.
>>
>>Thanks again for the help.
>>
>>AR
>>
>>"Zhenxin Wang" <[email protected]> wrote in message
>>news:[email protected]...
>>>
>>> Hi, Andy
>>>
>>> Each JMS server can only live in one app server.
>>> In your scenario, you probably neet to create 4 JMS servers, and attach
>>each of
>>> them to a different app server in the cluster.
>>>
>>> You can partition your JMS destinations (topics/queues) and distribute
>>them among
>>> the JMS servers non-overlappingly.
>>>
>>> The clustering feature of JMS means you can send a message to a
>>destination while
>>> giving the name or address of the cluster, as long as the the JMS
>server
>>(hence
>>> the app server) hosting the destination is running. However, there
>>is no
>>fail
>>> over with JMS clustering.
>>>
>>> Hope that helps.
>>>
>>> --Zhenxin Wang
>>> Principal Software Architect
>>> Corona Networks
>>> [email protected]
>>>
>>>
>>> "Andy Roger" <[email protected]> wrote:
>>> >Is it possible to deploy JMS across the cluster. I created a cluster
>>> >with
>>> >four servers and runing 6.0 SP2.
>>> >
>>> >I also created test MYJMSServer2 ( test) and deplyoed it from console
>>> >and
>>> >attached all servers and CLUSTER to it in Target.
>>> >
>>> >I am getting the error message:
>>> >
>>> >JMSServer "MYJMSServer2", cannot be deployed on multiple servers.
>>> >
>>> >Appreciate your help.
>>> >
>>> >Thanks,
>>> >
>>> >AR
>>> >
>>> >
>>>
>>
>>
>
Similar Messages
-
Is there any intention of including support for JMS queues clustering? If so, would it include clustering of messages after a server shutdown?
ThanksHi Ignacio,
We do not support the JMS API from Coherence. That is one of the APIs that we currently defer to the application server providers, such as BEA. Unfortunately, BEA WebLogic does not currently support Coherence for its clustered queues, but I believe in WebLogic 8.1 you can manually fail-over BEA WebLogic queues in a cluster.
Peace,
Cameron Purdy
Tangosol, Inc.
Coherence: Easily share live data across a cluster! -
Hi ,
I'm newbies to weblogic.
Currently I need to use JMS to asychronous messaging.
version I used is weblogic 705.
The environment is clustering. There is one Admin server, and 2 managed servers by multicasting.
Let's say, there have managed server#1 and managed server#2.
I set up JMS servers in each instance of managed Servers by using distributed Queue.
And used MDB to consume the message from queue and deploy to each server.
used persistance store in DB by JDBC connection Pools which is deploy multipools to cluster.
when firing hte message using distributed queue, messages keep in persistance store according to load balancing.
- Is there any work around to support failover?
Lets say, there fired 20 messages and according to the load balancing, each queue in server server got 10 records. but their persistance is in DB.
- After firing messages, I intentionally shut down the 2nd server, and restart again. Then MDB consume message which is already send to him. But There have a problem, when restarting the 2nd server, the message in queue( persistance in DB) which is related by 1st serer is wipe out from DB persistance.
Why can't identify why this one happen.
Anybody can help me.
Best regards,I'm not sure what is your question? Why are the messages stored in the DB wiped out?
I don't remember WebLogic 7.0 too much, is there a way to setup for JMS migration? If so, you can then migrate from 1 server to another so the messages can be processed even if the server goes down. -
hi,
Connection to the queue is not establised after a crash of one node
I'd be grateful if anyone confirmed that my jms clustered queues are configured and handled correctly from API point of view.
I have:
- created connection factory targeted to all servers in a cluster
- all servers in a cluster have its own JMS server
- created distributed queue targeted to all servers in a cluster
In a program
- i lookup one server within a cluster via JNDI and connect to the queue
- start connection both for consumer and producer
- consumer and producer implement ExceptionListener
- in onException method I create a new connection to the second nodehi,
Connection to the queue is not establised after a crash of one node
I'd be grateful if anyone confirmed that my jms clustered queues are configured and handled correctly from API point of view.
I have:
- created connection factory targeted to all servers in a cluster
- all servers in a cluster have its own JMS server
- created distributed queue targeted to all servers in a cluster
In a program
- i lookup one server within a cluster via JNDI and connect to the queue
- start connection both for consumer and producer
- consumer and producer implement ExceptionListener
- in onException method I create a new connection to the second node -
Hi,
We are deploying an HA solution which includes two servers running WLPI and
two JMS servers. Each JMS server is associated (target) with one WLPI
server.
I want to cluster these servers. However, JMS clustering limitations means
that a given JMS destination can only be defined on one server within the
cluster. So I need to change the destinations used internally by WLPI in
order to define the cluster. Is that possible? How? Am I missing something?
Thanks,
Philippe
Philippe Fajeau [email protected]
System Architect Tel: (604) 484-6675
Centrata Fax: (604) 685-5252Philippe,
See my response today in weblogic.interest.developers. Yes you can cluster, but
for high availability you will have to do write you workflows a particular way,
until the recovery-code in WLI becomes cluster-safe.
Richard
"Philippe Fajeau" <[email protected]> wrote:
Hi,
We are deploying an HA solution which includes two servers running WLPI
and
two JMS servers. Each JMS server is associated (target) with one WLPI
server.
I want to cluster these servers. However, JMS clustering limitations
means
that a given JMS destination can only be defined on one server within
the
cluster. So I need to change the destinations used internally by WLPI
in
order to define the cluster. Is that possible? How? Am I missing something?
Thanks,
Philippe
Philippe Fajeau [email protected]
System Architect Tel: (604) 484-6675
Centrata Fax: (604) 685-5252 -
Hi All,
We have a clustered environment ; instance A and B of the same application server is running. Both the servers are configured for a JMS queue. But when I send message to the queue to refreh certain data, only one server is getting refreshed.
What can I do for this? Please suggest?
Regards
SajithaHi,
You should tell us which product you are using. However, I think that you should use a topic rather than a queue because a message that is sent to a clustered queue will be delivered to only one MDB instance.
Hope it helps
Arnaud
www.arjuna.com -
JMS MDB Clustering destination reconnect problem
Hey,
We have got a JMS cluster and we are using MDB:s that listen to a specific
JMS topic.
When using MDB:s I have found out, that when the cluster node where my JMS
server containing the JMS topic is located goes down I get a connection
problem. The MDB keeps logging following message into weblogic.log:
The JMS destination with the JNDI name:
com.nokia.cce.server2.EAIElinkAliveQueue could not be found. Please ensure
that the
JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination
has been deployed.>
<Apr 3, 2002 10:30:39 AM EEST> <Warning> <EJB> <The Message-Driven EJB:
ElinkKeepAliveManager2 is unable to connect to the J
MS destination: com.nokia.cce.server2.EAIElinkAliveQueue. The EJB container
will automatically attempt to re-establish the c
onnection with the JMS server. This warning may occur during WebLogic
Cluster start-up if the JMS destination is located on
another WebLogic Server instance. When the JMS server connection is
re-established, the Message-Driven EJB will again receiv
e JMS messages.
The Error was:
The JMS destination with the JNDI name:
com.nokia.cce.server2.EAIElinkAliveQueue could not be found. Please ensure
that the
JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination
has been deployed.>
The MDB tries to reconnect to the JMS topic every 10th second and keeps on
logging this message until the corresponding JMS server comes up again.
(the example is from a JMS queue, but the same phenomen occurs also for
topics).
It is very irritating to keep on getting this message every 10th second to
the logging file. The logging file becomes full of these messages, which
takes a lot of file space + makes reading other error messages from the
weblogic logging very difficult.
Is there anything todo to avoid this ?
Can You reconfigure the reconnect interval ?
It would be enough to get one message, that the connection is lost but
weblogic will try to reconnect. And then the next message would tell when
a connection has succeeded again.
I assume there is no way to specify a primary/secondary
<destination-jndi-name> in the MDB's deployment descriptor ?
Is the only way to avoid this, to rewrite the implementation to use custom
based JMS subscribers instead of using MessageDrivenBean kind of
implemetation ?
This is a little bit sad, since MDB's gives such a nice and simple solution
otherwise...
Regards
Jan-Erik
PS. I'm using weblogic 6.1 and I can not migrate to 7.0 in a near future.
Your comments are noted.
I believe you can set "JMSPollingIntervalSeconds" in the weblogic descriptor.
Jan-Erik Aladin wrote:
> Hey,
>
> We have got a JMS cluster and we are using MDB:s that listen to a specific
> JMS topic.
> When using MDB:s I have found out, that when the cluster node where my JMS
> server containing the JMS topic is located goes down I get a connection
> problem. The MDB keeps logging following message into weblogic.log:
>
> The JMS destination with the JNDI name:
> com.nokia.cce.server2.EAIElinkAliveQueue could not be found. Please ensure
> that the
> JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination
> has been deployed.>
> <Apr 3, 2002 10:30:39 AM EEST> <Warning> <EJB> <The Message-Driven EJB:
> ElinkKeepAliveManager2 is unable to connect to the J
> MS destination: com.nokia.cce.server2.EAIElinkAliveQueue. The EJB container
> will automatically attempt to re-establish the c
> onnection with the JMS server. This warning may occur during WebLogic
> Cluster start-up if the JMS destination is located on
> another WebLogic Server instance. When the JMS server connection is
> re-established, the Message-Driven EJB will again receiv
> e JMS messages.
> The Error was:
> The JMS destination with the JNDI name:
> com.nokia.cce.server2.EAIElinkAliveQueue could not be found. Please ensure
> that the
> JNDI name in the weblogic-ejb-jar.xml is correct, and the JMS destination
> has been deployed.>
>
> The MDB tries to reconnect to the JMS topic every 10th second and keeps on
> logging this message until the corresponding JMS server comes up again.
> (the example is from a JMS queue, but the same phenomen occurs also for
> topics).
>
> It is very irritating to keep on getting this message every 10th second to
> the logging file. The logging file becomes full of these messages, which
> takes a lot of file space + makes reading other error messages from the
> weblogic logging very difficult.
>
> Is there anything todo to avoid this ?
> Can You reconfigure the reconnect interval ?
> It would be enough to get one message, that the connection is lost but
> weblogic will try to reconnect. And then the next message would tell when
> a connection has succeeded again.
> I assume there is no way to specify a primary/secondary
> <destination-jndi-name> in the MDB's deployment descriptor ?
>
> Is the only way to avoid this, to rewrite the implementation to use custom
> based JMS subscribers instead of using MessageDrivenBean kind of
> implemetation ?
> This is a little bit sad, since MDB's gives such a nice and simple solution
> otherwise...
>
> Regards
> Jan-Erik
>
> PS. I'm using weblogic 6.1 and I can not migrate to 7.0 in a near future.
-
JMS in Clustered WLS 5.1
Has anyone used JMS in a 5.1 cluster ? I'm not able to lookup Topics from my client.
Can someone help me with this ?
Currently JMS Topics are not replicable objects in a cluster; you must bind it to a single Node.
Once a Node has a bound Topic and joins a cluster, its local JNDI tree is broadcasted to the rest of
the cluster, and you should be able to look up the local Topic from any Node. What problems are you
having?
Gene
"Ashok Sridhar" <[email protected]> wrote in message news:3b2f6bb0$[email protected]..
>
> Has anyone used JMS in a 5.1 cluster ? I'm not able to lookup Topics from my client.
> Can someone help me with this ?
>
>
-
Urgent and intresting:weblogic JMS in CLustering
Hi all,
I deployed one application in two different servers(server1,server2) in a weblogic cluster.my application having one MDB .MDB also deployed on all servers.I am sending messages to server1 only by creating Initialcontext as follows.
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://10.20.30.18:7001");
return new InitialContext(h);
My question is:
1)is there any possible to consume that message by
server2(t3://11.22.33.20:7001) MDB.eventhough iam not putting message on this server.
2)if it is possible then how can i prevent.
3)does connectionfactory/destination(queue) sharable.
Problem faced:
we deployed application 2 days back,first day only server1 MDB consumed Messages,second day server2 MDB started consuming meaasges. we are calling some code from outside of application,we setup that one in only server1,if server2 consumes means it is throwing exception.
we are breaking heads how server2 consuming Messages.Hi all,
I deployed one application in two different servers(server1,server2) in a weblogic cluster.my application having one MDB .MDB also deployed on all servers.I am sending messages to server1 only by creating Initialcontext as follows.
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://10.20.30.18:7001");
return new InitialContext(h);
My question is:
1)is there any possible to consume that message by
server2(t3://11.22.33.20:7001) MDB.eventhough iam not putting message on this server.
2)if it is possible then how can i prevent.
3)does connectionfactory/destination(queue) sharable.
Problem faced:
we deployed application 2 days back,first day only server1 MDB consumed Messages,second day server2 MDB started consuming meaasges. we are calling some code from outside of application,we setup that one in only server1,if server2 consumes means it is throwing exception.
we are breaking heads how server2 consuming Messages. -
I am running Toplink 9.0.3 with 9i 9.0.2. I cannot get toplink to find the topic declared in jms.xml.
My sessions.xml and jms.xml file are
<cache-synchronization-manager>
<clustering-service>oracle.toplink.remote.jms.JMSClusteringService</clustering-service>
<should-remove-connection-on-error>true</should-remove-connection-on-error>
<jms-topic-connection-factory-name>jms/toplinkTopicConnectionFactory</jms-topic-connection-factory-name>
<jms-topic-name>jms/toplinkCacheSyncTopic</jms-topic-name>
<naming-service-url>ormi://127.0.0.1</naming-service-url>
<naming-service-initial-context-factory>com.evermind.server.ApplicationInitialContextFactory</naming-service-initial-context-factory>
</cache-synchronization-manager>
jms.xml
<jms-server port="9127">
<topic-connection-factory name="ToplinkTopicConnectionFactory" host="127.0.0.1" location="jms/toplinkTopicConnectionFactory">
<description>Toplink connection factory</description>
</topic-connection-factory>
<topic name="ToplinkCacheSyncTopic" location="jms/toplinkCacheSyncTopic">
<description>Toplink topic</description>
</topic>
The error I get is
EXCEPTION [TOPLINK-8061] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exception
s.SynchronizationException
EXCEPTION DESCRIPTION: Could not find JMS Service Topic named: jms/toplinkCacheS
yncTopic
INTERNAL EXCEPTION: javax.naming.NamingException: Not in an application scope -
start Orion with the -userThreads switch if using user-created threads
at oracle.toplink.exceptions.SynchronizationException.errorLookingUpJMSS
ervice(Unknown Source)
at oracle.toplink.remote.jms.JMSClusteringService.retreiveRemoteSessions
(Unknown Source)
at oracle.toplink.remote.jms.JMSClusteringService.run(Unknown Source)
INTERNAL EXCEPTION STACK:
javax.naming.NamingException: Not in an application scope - start Orion with the
-userThreads switch if using user-created threads
at com.evermind.server.PreemptiveApplicationContext.getContext(Preemptiv
eApplicationContext.java:34)
at com.evermind.naming.FilterContext.lookup(FilterContext.java:127)
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at oracle.toplink.remote.jms.JMSClusteringService.createRemoteConnection
(Unknown Source)
at oracle.toplink.remote.jms.JMSClusteringService.retreiveRemoteSessions
(Unknown Source)
at oracle.toplink.remote.jms.JMSClusteringService.run(Unknown Source)
I tried running it without the host,password port and username option but still got the same error.The error I get is
EXCEPTION [TOPLINK-8061] (TopLink - 9.0.3 (Build 423)): oracle.toplink.exception
s.SynchronizationException
EXCEPTION DESCRIPTION: Could not find JMS Service Topic named: jms/toplinkCacheS
yncTopic
INTERNAL EXCEPTION: javax.naming.NamingException: Not in an application scope -
start Orion with the -userThreads switch if using user-created threads Did you try starting oc4j with the -userThreads flag? -
JMS growing as a technology?
What is the current state of JMS? On Sun's website, there hasn't been a "what's new" in 13 months:
http://java.sun.com/products/jms/
And, at the upcoming JavaOne, I don't see a single session (or even a Birds-of-a-Feather) on JMS. We currently have a CORBA based system, but were looking at options that were asychronous. But, I'm having a hard time advocating that JMS is THE solution we've been looking for, given the lack of apparent Sun support for the standard.
Can anyone comment?Hi vrmerlin,
JMS is simply a collection of interfaces and classes that define common operations (publishing, consuming etc.) performed with topics and queues and their respective factories. The very fact that JMS has remained static is because it has achieved what it set out to.
JMS will never be a �solution�. JMS is better described as a fairly sensible approach to abstraction that a large number of vendors including ourselves support. To find your solution you need to look at the bits that are not defined within the JMS specification (clustering, resilience, management, administration and security) and find a vendor that ticks all your boxes.
Regards,
Paul Brant
My-Channels � technologies working together
http://www.my-channels.com/ -
Clustered WebLogic MDB receiving multiple messages...
Hi all,
I have a JMS WebLogic clustering problem.
First, let me describe the problem. The MDB of my application (it's a simple test application to get the clustering kinks worked out) is listening to a Topic and when I publish a message to the Topic the MDB is receiving the message multiple times. I have a max of 4 managed servers in my cluster and when they are all running, each MDB on each managed server gets the message 4 times. If I shut down two of the managed servers, then each MDB on each of the two running managed servers get the message 2 times. So my MDB is receiving the message multiple times equal to the number of manged servers I have running in my cluster.
So my question is what is the proper way to configure JMS Servers for a cluster?
Next I want to explain how I start the managed servers in the cluster. At this time I am unable to use NodeManager so starting of the instances is done manually via command line. Basically it's a wrapper around the startManagedWebLogic.sh script. I know something is wrong with my JMS configuration because when I start the managed servers I will typically see an error which looks like this:
<Warning> <EJB> <BEA-010061> <The Message-Driven EJB: MyMDB is unable to connect ot the JMS destination: jms/myTopic. The error was:
werblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
Nested exception: weblogic.jms.common.JMSException: could not find Server NAME_OF_MANAGED_SERVER
Nested exception: weblogic.messaging.dispatcher.DispatcherException: could not find Server NAME_OF_MANAGED_SERVER
Nested excpetion: javax.naming.NameNotFoundException: Unable to resolve 'weblogic.messaging.dispatcher.S:NAME_OF_MANAGED_SERVER'. Resolved 'weblogic.messaging.dispatcher'; remaining name 'S:NAME_OF_MANAGED_SERVER'>
Despite this error message, the MDB on that manged server does still successfully recieve messages posted to the Topic, though, as stated earlier, my problem is the MDB is getting the message more than once.
Also, I've confirmed all managed servers in the cluster can receive the message posted to the Topic no matter which managed server posts the original message.
Next is to explain my cluster configuration. I'm sure I know is is wrong, but not sure where my mistake is. Here is my JMS configuration for the cluster.
4 JMS Servers
Persistence Store:
Each JMS Server has its own persistent store
Each store targets one of the 4 (migratable) managed servers
Each store is a FileStore
Filesystem is not shared between VMs in the cluster
Target:Each JMS server targets one of the 4 (migratable) managed servers
1 JMS ModuleTarget: The cluster - "All servers in the cluster"
1 JMS Topic
Destination type: Uniform
Forwarding Policy: Replicated
Template: None
Target: The cluster - "All servers in the cluster"
Subdeployment: Default Targeting
1 JMS ConnectionFactory
Subscription Sharing Policy: Exclusive
Client ID Policy: Restricted
XA connection factory enabled (YES)
Target: The cluster - "All servers in the cluster"
Subdeployment: Default TargetingHi Michael,
I need to clarify exactly what you want to happen. What you are saying you want is not typical. I expected you to say you wanted Scenario 8 or 9. Those are the most common.
I will try to capture what your words are saying in "graphic text". I'm not sure that the graphic in the document is accurate.
Server 1 Server 2 Server 3 Server 4
JMS svr 1 JMS svr 2 JMS svr 3 JMS svr 4
DistTopic-mem1 DistTopic-mem2 DistTopic-mem3 DistTopic-mem4
MDB listens locally MDB listens locally MDB listens locally MDB listens locally
Events...
1. Message published
on Server 1
2. Message is replicated
to server 2
3. Local MDB get message
4. Message is replicated
to server 3
5. Local MDB gets message
6. Message is replicated
to Server 4
7. Local MDB gets the message
8. Local MDB gets the message.
This is the standard Replicated Distributed Topic flow. Messages are replicated, and every message is forwarded to every member of the distributed topic.
In the case, each message will be processed 4 times - once per server.
This is what your text says you want.
This is scenario 1 in the doc.
I don't really know what is going wrong with your MDB. The topics are getting created per your comment about the ability to publish a message.
Are you seeing errors during deployment?
To answer your question about where to set topicMessagesDistributionMode and distributedDestinationConnection, they are set in a deployment descriptor or in an annotation in the MDB. See http://docs.oracle.com/middleware/1213/wls/WLMDB/summary.htm#WLMDB1385..
Let me know if I described what you want to happen.
If so, a replicated distributed topic and an MDB deployed to the cluster should just work with no need to set the descriptor elements.
Dave -
Weblogic 8.1 JMS Failover
Hi,
In the Weblogic documentation with regards to JMS and Clusters it is stated that "Automatic failover is not supported by WebLogic JMS in this release." In my case, this release is 8.1.2. Can anyone clarify exactly what this means?
Thanks,
AoifeNot sure whether it is just me or not - the new security stuff in WebLogic 8.1
just makes life so much tougher.
Thanks for the suggestion anyways.
Eric
Tom Barnes <[email protected].bea.com>
wrote:
>Even though its meant for foreign providers, perhaps credential
>mapping would work? See:
>
>http://edocs.bea.com/wls/docs81/ejb/message_beans.html#1151409
>
>Also, you might want to try posting to the
>security and/or ejb newsgroups.
>
>Tom
>
>P.S. This question has come up before, so it seems likely
>that the security section of the MDB documentation
>may need more detail. If you post any feedback here,
>I'll make sure it gets sent directly to the
>documentation folks...
>
>Eric Ma wrote:
>
>> I have a JMS Topic living in one WebLogic 8.1 domain and a MDB that
>listens to
>> this JMS Topic living in another domain. Do I need to configure trusted
>domain
>> relationship for both domains?
>
-
Sorry for posting this kind of question, but after reading several times BEA documentation regarding JMS and clustering, I still do not understand the purpose of a JMS server.
Questions:
1. What is really a JMS server for? What is its purpose?
2. Do I need to create and deploy one JMS server per node in a cluster, or I just need one?
Thank you for your assistance.While a DD is location transparent within a cluster, no matter which nodes it runs on, a DD is not required to get location transparency. Any physical destination with a JNDI name is transparently accessable from any server in the same cluster, or any remote client connected to any server in the same cluster - just by looking up the JNDI name. This works the same way other JNDI advertised resources work (EJBs, JDBC connections, etc.)
A DD is useful for load-balancing, performance, and high-availability. It does this by providing a virtual destination that consists of multiple physical destinations. There is usually little point in a DD that only consists of a single destination, or that has all of its destinations on a single host machine/WL server. To get the full use out of a DD, configure a JMS server on more than one cluster node, and configure the DD to use a physical destination on each one.
Whether or not you choose to use a DD is application specific. I estimate that the majority of applications don't, but performance sensitive applications, or apps that have high HA requirements typically do. Note that DD apps must typically be able to tolerate out-of-order message processing due to the very nature of DDs (WL 9.0s unique "unit-of-order" feature is designed to address this issue).
Tom -
Hi,
I am using toplink cache synchronization using Orion JMS. While starting the application I get the following erorr message.
Oracle apps server version is 10.1.2.0.0 toplink 9.0.4.5
Local Exception Stack:
Exception [TOPLINK-15016] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.SynchronizationException
Exception Description: Could not gain access to SynchronizationService class
Internal Exception: Exception [TOPLINK-15013] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.SynchronizationException
Exception Description: Could not find JMS Service Topic named: jms/MyCacheSyncTopic
Internal Exception: javax.naming.NameNotFoundException: jms/MyTopicFactory not found
at oracle.toplink.exceptions.SynchronizationException.errorGettingSyncService(SynchronizationException.java:139)
at oracle.toplink.remote.CacheSynchronizationManager.initialize(CacheSynchronizationManager.java:114)
at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:534)
at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:250)
at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:181)
at com.starkey.cqm.dao.PersistenceService.initializeService(PersistenceService.java:67)
at com.starkey.cqm.bcs.CQMServiceManager.createService(CQMServiceManager.java:68)
at com.starkey.cqm.web.util.CQMInitServlet.init(CQMInitServlet.java:40)
I have made the modifications in sessions.xml as follows
<cache-synchronization-manager>
<clustering-service>oracle.toplink.remote.jms.JMSClusteringService</clustering-service>
<jms-topic-connection-factory-name>jms/MyTopicFactory</jms-topic-connection-factory-name>
<jms-topic-name>jms/MyCacheSyncTopic</jms-topic-name>
</cache-synchronization-manager>
Changes in JMS xml
<topic name="MyCacheSyncTopic" location="jms/MyCacheSyncTopic"/>
<topic-connection-factory
host="cqtest1"
port="3702"
name="Cache Sync Topic Factory"
location="jms/MyTopicFactory" />
Has any one encountered this before ?
Thanks
PriyaHi Steve,
Servers 1 and 2 may have dropped the connections to 3. One way that this can happen is if at some point an object delta is sent to a target server that does not have the object deployed, or on its classpath. Make sure that log-debug is turned on for the TopLink session. You should see warnings on servers 1 and 2 about the connections being dropped to 3.
If none of this seems to help or if you can't find the answers from the debug traces then the logs of the three servers would help support in determining where the problem occurred.
-Mike
Maybe you are looking for
-
If there is a way to find tables by using the Find/Change dialog, I haven't been able to discover it. If there is no way to do it using Find/Change, does anyone know of a script that would find tables in an InDesign CS4 document?
-
I've been wondering for a while now how one would go about making a loading screen - something that shows the progress of loaded resources. I mangaged to get something that displays a progress bar while initializing the stuff for my game but it ends
-
Problem Related to Billing of return delivery?
Hi All, i have invoice no which has been posted and then for the same return delivery is made and pgr is done but now when I am doing invoice of the delivery it is showing below given error message. Delivery type LR10 cannot be invoiced with billing
-
I just downloaded Yosemite a few days ago and noticed that my iPhoto is not working. The message that comes up is "Your photo library will not be readable by previous versions of iPhoto after the upgrade. The upgrade process for very large libraries
-
Initialize the opening balance.
How can I specify the opening stock date when i Initialize the opening balance in Transaction MCNB, and doed the Initializing the opening balance mean that the first time extract data records into setup table, then can do full update for opening bala