Distributed Cache synchronization with JMS

Hello,
The documentation on Cache Synchronization using JMS lists steps to setting up JMS in the JMSClusteringService but does not list steps as to how to connect or setup connections to the various different servers inorder to synchronize between them. It lists steps for connecting to servers when using RMI but not JMS. Appreciate any additional documentation on doing this in JMS. Many thanks

JMS, by its nature, provides the connections between the different 'servers'. If all servers connect to the same JMS service then there are no additional actions required to have the 'servers' synchronize.
--Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • Cache Synchronization with JMS and a Message Driven Bean (MDB)

    If I understand correctly, Toplink ueses the following configuration info to find the target to publish its session messages to a JMS server (having its URL as below) which provides the JNDI service that Toplink needs to look up the topic:
    <cache-synchronization-manager>
    <clustering-service> oracle.toplink.remote.jms.mdb.JMSPublishingOnlyClusteringService
    </clustering-service>
    <should-remove-connection-on-error>false</should-remove-connection-on-error>
    <!-- both of the following tags are user specified and must correspond to -->
    <!-- the settings that the user has made, manually, to the JMS Service -->
    <jms-topic-connection-factory-name> jms/TopLinkTopicConectionFactory
    </jms-topic-connection-factory-name>
    <jms-topic-name>jms/TopLinkCacheSynchTopic</jms-topic-name>
    <!-- both of the following tags will be required if OracleAS TopLink -->
    <!-- is not running in the same JVM as the JNDI service that is hosting the JMS Topic -->
    <naming-service-url>ormi://localhost:23791</naming-service-url>
    <naming-service-initial-context-factory> com.evermind.server.rmi.RMIInitialContextFactory </naming-service-initial-context-factory></cache-synchronization-manager>
    The MDB also uses the same JNDI service provided by the JMS server to listen to the topic which is named in the ejb-jar.xml file:
    <enterprise-beans>
    <message-driven>
    <display-name>TopLink clustering MDB</display-name>
    <ejb-name>TopLinkClusteringMDB</ejb-name>
    <ejb-class>com.mycompany.mdb.ClusteringMDB</ejb-class>
    <transaction-type>Container</transaction-type>
    <message-driven-destination> <destination-type>javax.jms.Topic</destination-type>
    </message-driven-destination>
    <env-entry>
    <description>TopLink session name</description>
    <env-entry-name>tl_session_name_for_mdb</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>Employee_Session</env-entry-value>
    </env-entry>
    <resource-ref> <description>description</description>
    <res-ref-name>jms/TopLinkTopicConectionFactory</res-ref-name>
    <res-type>javax.jms.TopicConnectionFactory</res-type>
    <res-auth>Application</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>
    <resource-env-ref>
    <resource-env-ref-name> jms/TopLinkCacheSynchTopic</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Topic</resource-env-ref-type> </resource-env-ref>
    </message-driven></enterprise-beans>
    To do this, the EJB container that hosts the above MDB needs to be configured to know where the JMS server is by using the above URL same as in the Toplink sessions.xml file.
    I am not clear that who provides the JNDI service for the Toplink session name lookup used by the MDB:
    // Obtain the Session name configured in the environment variable
    String sessionName = (String) myEnv.lookup(TOPLINK_SESSION_NAME);
    session = SessionManager.getManager().getSession(sessionName);
    so that the MDB can find the currently running Toplink session and communicate with it.
    Can anybody help answer my above question and correct my understandings?
    Many thanks!

    Although TopLink is running in the application server’s VM, the only notable integration points with the server are for JTA and user-defined data sources. All of the work performed to get a session via SessionManager occurs solely within TopLink. When the call is made to retrieve a session, you aren’t getting the ‘active’ session identified by “Employee_Session” that is registered with the application server, rather a new session is created using the definition that exists for “Employee_Session” in sessions.xml.
    When the call ‘session = SessionManager.getManager().getSession(“Employee_Session”)’ is made, the SessionManager simply looks for sessions.xml at the root level of its deployed jars or classpath, then looks for the “Employee_Session” tag within sessions.xml. If a session exists in the file with that name then a TopLink session object is created and returned.
    Note that setting an environment entry as mentioned above simply allows for the session name to be declared dynamically. The call to ‘myEnv.lookup(“tl_session_name_for_mdb”)’ simply asks the bean’s environment for the <env-entry-value> that matches the <env-entry-name>. That string is then used in SessionManager (no different than a hard coded value would be) to identify the session in sessions.xml that is to be loaded.
    I hope this makes sense.

  • Error handling for distributed cache synchronization

    Hello,
    Can somebody explain to me how the error handling works for the distributed cache synchronization ?
    Say I have four nodes of a weblogic cluster and 4 different sessions on each one of those nodes.
    On Node A an update happens on object B. This update is going to be propogated to all the other nodes B, C, D. But for some reason the connection between node A and node B is lost.
    In the following xml
    <cache-synchronization-manager>
    <clustering-service>...</clustering-service>
    <should-remove-connection-on-error>true</should-remove-connection-on-error>
    If I set this to true does this mean that the Toplink will stop sending updates from node A to node B ? I presume all of this is transparent. In order to handle any errors I do not have to write any code to capture this kind of error .
    Is that correct ?
    Aswin.

    This "should-remove-connection-on-error" option mainly applies to RMI or RMI_IIOP cache synchronization. If you use JMS for cache synchronization, then connectivity and error handling is provided by the JMS service.
    For RMI, when this is set to true (which is the default) if a communication exception occurs in sending the cache synchronization to a server, that server will be removed and no longer synchronized with. The assumption is that the server has gone down, and when it comes back up it will rejoin the cluster and reconnect to this server and resume synchronization. Since it will have an empty cache when it starts back up, it will not have missed anything.
    You do not have to perform any error handling, however if you wish to handle cache synchronization errors you can use a TopLink Session ExceptionHandler. Any cache synchronization errors will be sent to the session's exception handler and allow it to handle the error or be notified of the error. Any errors will also be logged to the TopLink session's log.

  • Cache Sync with JMS

    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?

  • Distributed Cache Synchronization

    I'm trying to implement distributed cache synchronization via RMI but I find the documentation to be very limited on how to do this. I'm doing exactly what the documentation says and I end up with a CommunicationException when trying to connect to the pre-existing session. The toplink docs are not very descriptive about the cause or meaning of CommunicationException.
    Also, this is in toplink 3.6 which I know is old, but comparing it with the new oracle versions the requirements for DCS are almost identical.
    Here is the code I'm trying to use:
              RMIRemoteSessionController controller = (RMIRemoteSessionController)Naming.lookup(registryName);
              RemoteConnection connection = new RMIConnection(controller);
              CacheSynchronizationManager syncMgr = new CacheSynchronizationManager();
              serverSession.setCacheSynchronizationManager(syncMgr);
              serverSession.getCacheSynchronizationManager().addRemoteConnection(connection);
    Here is the stack trace I'm seeing:
    18:53:01,146 DEBUG OEDataEntry - OEDataEntry - - EXCEPTION [TOPLINK-0] (3.6.2 JDK1.2): TOPLink.Public.Remote.CommunicationException
    18:53:01,146 DEBUG OEDataEntry - OEDataEntry - - EXCEPTION DESCRIPTION: Error Sending connection service to
    18:53:01,156 DEBUG OEDataEntry - OEDataEntry - - INTERNAL EXCEPTION: java.lang.ClassCastException
    18:53:01,166 DEBUG OEDataEntry - OEDataEntry - -      at TOPLink.Public.Remote.CacheSynchronizationManager.addRemoteConnectionForSynchronization(CacheSynchronizationManager.java:84)
    18:53:01,166 DEBUG OEDataEntry - OEDataEntry - -      at TOPLink.Public.Remote.CacheSynchronizationManager.addRemoteConnection(CacheSynchronizationManager.java:68)

    Also, if someone could provide me with a complete example of how to implement distributed cache synchronization via RMI that would be helpful too, the docs are very sparse on this.
    Basically what I'm trying to do is this: I have a web application that uses toplink to connect to a database. I have a separate application that also uses toplink to connecto the database that runs outside the application. The external app can update tables that the web application uses, I would like the web application to have it's cache updated when the external app changes something in those tables. It is my understanding that this is what distributed cache synchronization is for. How do I use it?

  • Distributed Cache Mode With W2k8 Enterprise ServerCore ???

    Hi, can someone teach me how to configure  BranchCache in Distributed Cache Mode with W2k8 Enterprise ServerCore? tks a lot!

    Hi,
    Since Server Core installation provides a minimal environment for running specific server roles, which reduces the maintenance and management requirements and the attack surface for those server
    roles, so the installation process of BranchCache Distributed Cache Mode is the same as the Windows Server 2008 with GUI. Since there isn’t any official document about this, I suggest we could use the following guides as reference.
    BranchCache Distributed Cache Mode Step by Step Guide
    http://www.microsoft.com/en-us/download/details.aspx?id=5772
    Here are some articles about how to configure a Server Core installation, they may be useful to us.
    Configuring a Server Core installation: Overview
    http://technet.microsoft.com/en-us/library/ee441257(v=ws.10).aspx
    Installing a server role on a server running a Server Core installation of Windows Server 2008: Overview
    http://technet.microsoft.com/en-us/library/ee441263(v=ws.10).aspx
    Installing Windows Features on a server running a Server Core installation of Windows Server 2008: Overview
    http://technet.microsoft.com/en-us/library/ee441259(v=ws.10).aspx
    If you face some issue during the configuration, please do not hesitate to let me know, I will be very happy to help.
    Best Regards,
    Andy Qi
    Andy Qi
    TechNet Community Support

  • Setting up cache synchronization using JMS on Tomcat

    I'm trying to enable cache synchronization using JMS on Tomcat 5.0; Does anyone have any tips on how to do this?

    Configure the TIBCO service to provide a Topic and a TopicConnectionFactory for TopLink to use.
    You will need to register for a pre-login event configured on the session that will configure the JMSClusteringService for the TIBCO service.
    ie.
    JMSClusteringService clusteringService = new JMSClusteringService(event.getSession());
    event.getSession().setClusteringService(clusteringService);
    Hashtable env = new Hashtable();
    env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY , "TIBCOFactoryClassName");
    env.put(javax.naming.Context.PROVIDER_URL, "url");
    env.put(javax.naming.Context.SECURITY_PRINCIPAL, "userName"));
    env.put(javax.naming.Context.SECURITY_CREDENTIALS,"password");
    clusteringService.setInitialContextProperties(env);
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • JMS Cache Synchronization Manager

    Hi all,
    I am trying to implement distributed cache synchronization in TopLink using JMS.
    On http://download-west.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1022254 , there is an example given which has a snippet of the sessions.xml file.
    The example snippet shows a tag <naming-service-initial-context-factory> under the <cache-synchronization-manager> tag. But on the DTD given on http://download-west.oracle.com/docs/cd/A97688_12/toplink.903/b10064/a-sessio.htm#634251 , I cant find an element <naming-service-initial-context-factory>. Please let me know which one is wrong - the DTD or the example?
    Also, I tried to use JMS for distributed cache synchronization. My JMS Server is running on a seperate VM and I have configured info about it in the sessions.xml file. But TopLink is complaining that it cannot find the top and connection factory. Yet, I am able to look them up from a standalone program.
    Does anyone have any experience setting this up? Any examples?
    Thanks,
    Binil

    Hi Doug,
    Thanks for the clarifications! :)
    I am not able to get the JMS Cache Synchronization work still :( I am new to JMS & Toplink - so I will try to explain what I am doing and please let me know if there is something I am doing wrong.
    I have an EJB application which is a Stateless Session bean which has two methods : one to fetch an entity and another to update an entity. Also, I have a weblogic domain in which I have three managed servers - appServerOne, appServerTwo and jmsServer. On appServerOne and appServerTwo I have deployed the above mentioined application. On jmsServer, I have configured my ConnectionFactory and Topic and the JNDI names of those are provided to the EJB application.
    With this setup, I run two client programs. I will list the steps below:
    1. Client1 fetches an entity whereby it is loaded to the TopLink cache. The DB logs show that a SELECT query is issued to the DB.
    2. Client2 fetches the same entity whereby it is loaded to the cache; again a SELECT query is issued.
    3. Client1 updates that entity using UOW; the logs dont show a DB UPDATE statement though. But the updates are indeed made to the DB when I check them.
    4. Client1 fetches the entity again; the updates are visible and the JDBC logs show that a trip to the DB is not done.
    5. After waiting for sometime Client1 fetches the same entity again and I get the stale data! :(
    I have enabled logging, so I am hoping that TopLink will log a message when a JMS notification is posted. Also, I have made the cache synchronization synchronous, so that the transaction shouldnt commit before the notification being send.
    I tried making the stateless session bean stateful and it still didnt work. Is there anything I need to do.
    Cheerio,
    Binil

  • JMS & Cache synchronization

    We have setup Toplink to do cache synchronization using Tibco JMS. We are using Tomcat Servlet environment. We are using the pre-login event in Toplink to specify the necessary information required for cache synchronization using JMS. For some reason Toplink connects to JMS using the name "anonymous" in addition to connecting with the user name we specify in the code. Toplink also seems to connect to some queue in addition to the Topic that is mentioned in the code. Does anyone know why Toplink would behave like this?

    Hello,
    TopLink uses JNDI to get the TopicConnectionFactory, and will login using the username/password you have specified. It then calls createTopicConnection() that will use the default userid to get a connection to a Topic, so this could be what you are referring to. The login specified in the cache synch setup is only to access JNDI.
    That said, TopLink does not use a queue that I have ever seen. The source code for the JMSClusteringService is shipped with TopLink and can be used to fill in parts left out of the documentation, as well as allow for customizations. In this case, it would be good to review it to get an understanding of the calls TopLink does to connect. If this does not help, I'd need to see the configuration used to set up cache synchronization.
    Best Regards,
    Chris Delahunt

  • Toplink cache synchronization between two nodes using tomcat

    Hi,
    In our appcation we have two nodes. Using websphere we used to synchronize toplink cache between two nodes. Can we do same thing using tomcat.

    Yes, TopLink implements cache synchronization using JMS or RMI easily, which are not dependent on the server being used - though it JMS especially does require a JMS provider that is accessible from each node.  Cache synchronization is now cache coordination, and is described using JPA properties here:
    http://wiki.eclipse.org/EclipseLink/Examples/JPA/CacheCoordination
    the Toplink cache synchronization/coordination with JMS | EMBARCADEROS seems to be a good read for cache coordination over JMS, but is more aimed at TopLink's sessions.xml configuration.
    Best Regards,
    Chris

  • Cache config for distributed cache and TCP*Extend

    Hi,
    I want to use distributed cache with TCP*Extend. We have defined "remote-cache-scheme" as the default cache scheme. I want to use a distributed cache along with a cache-store. The configuration I used for my scheme was
    <distributed-scheme>
      <scheme-name>MyScheme</scheme-name>
      <backing-map-scheme>
        <read-write-backing-map-scheme>
          <internal-cache-scheme>
            <class-scheme>
              <class-name>com.tangosol.util.ObservableHashMap</class-name>
            </class-scheme>
          </internal-cache-scheme>
          <cachestore-scheme>
            <class-scheme>
              <class-name>MyCacheStore</class-name>
            </class-scheme>
            <remote-cache-scheme>
              <scheme-ref>default-scheme</scheme-ref>
            </remote-cache-scheme>
          </cachestore-scheme>
          <rollback-cachestore-failures>true</rollback-cachestore-failures>
        </read-write-backing-map-scheme>
      </backing-map-scheme>
    </distributed-scheme>
    <remote-cache-scheme>
      <scheme-name>default-scheme</scheme-name>
      <initiator-config>
        <tcp-initiator>
          <remote-addresses>
            <socket-address>
              <address>XYZ</address>
              <port>9909</port>
            </socket-address>
          </remote-addresses>
        </tcp-initiator>
      </initiator-config>
    </remote-cache-scheme>I know that the configuration defined for "MyScheme" is wrong but I do not know how to configure "MyScheme" correctly to make my distributed cache the part of the same cluster to which all other caches, which uses the default scheme, are joined. Currently, this ain't happening.
    Thanks.
    RG
    Message was edited by:
    user602943

    Hi,
    Is it that I need to define my distributed scheme with the CacheStore in the server-coherence-cache-config.xml and then on the client side use remote cache scheme to connect to get my distributed cache?
    Thanks,

  • Cache synchronization log

    Hi,
    I am using Toplink's cache synchronization by JMS. Is there a log where I can see the objects being synchronized.
    Thanks,
    Moin

    Moin,
    You can get details of the cache coordination activities by enabling debugging. The details of what is being synchronized is not displayed in any log. This would be far too intrusive on performance. You could add this yourself by using a SessionEventListener.postCommitUnitOfWork. In this event the ChangeSet will include all changes that will be synchronized.
    Doug

  • 10.1.3 JMS Cache Synchronization on OC4J

    Hi,
    We're using stand-alone OC4j 10.1.3.0 along with TopLink 10.1.3.0 (packaged with OC4j). In enabling JMS cache synchronization, I get the following error message:
    Exception [TOPLINK-12000] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.CommunicationException
    Exception Description: Error Sending connection service to jms/Topic/ToplinkCacheSync.
    Internal Exception: javax.jms.JMSException: TopicSubscriber[Oc4jJMS.Consumer.arkansas.6e2ec2b0:1117159d1ca:-7fff.65,Topic[ToplinkCacheSync],null,null,false]: cannot invoke method "setMessageListener" within the J2EE container.
    at oracle.toplink.exceptions.CommunicationException.errorSendingConnectionService(CommunicationException.java:40)
    at oracle.toplink.remote.CacheSynchronizationManager.addRemoteConnection(CacheSynchronizationManager.java:175)
    at oracle.toplink.remote.jms.JMSClusteringService.retreiveRemoteSessions(JMSClusteringService.java:198)
    at oracle.toplink.remote.jms.JMSClusteringService.run(JMSClusteringService.java:175)
    Caused by: javax.jms.JMSException: TopicSubscriber[Oc4jJMS.Consumer.arkansas.6e2ec2b0:1117159d1ca:-7fff.65,Topic[ToplinkCacheSync],null,null,false]: cannot invoke method "setMessageListener" within the J2EE container.
    at com.evermind.server.jms.JMSUtils.make(JMSUtils.java:1034)
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1114)
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1085)
    at com.evermind.server.jms.JMSUtils.assertNotContainer(JMSUtils.java:1500)
    at com.evermind.server.jms.EvermindMessageConsumer.setMessageListener(EvermindMessageConsumer.java:217)
    at oracle.toplink.remote.jms.JMSClusteringService.connectBackToRemote(JMSClusteringService.java:53)
    at oracle.toplink.remote.CacheSynchronizationManager.addRemoteConnection(CacheSynchronizationManager.java:168)
    ... 2 more
    It is, therefore, my assumption that Toplink is using JMS 1.0.2b while OC4J is using JMS 1.1. Who can:
    1) Verify or debunk my assumption?
    2) Point me to a work-around?
    Perhaps my config is incorrect? Here's a sessions.xml snippet, in case it helps:
    <cache-synchronization-manager>
    <clustering-service xsi:type="jms-clustering">
    <naming-service-url>ormi://localhost:23791/ems</naming-service-url>
    <jndi-user-name>oc4jadmin</jndi-user-name>
    <jndi-password>oc4j</jndi-password>
    <naming-service-initial-context-factory-name>com.evermind.server.rmi.RMIInitialContextFactory</naming-service-initial-context-factory-name>
    <jms-topic-connection-factory-name>jms/Topic/ToplinkCacheSyncConnectionFactory</jms-topic-connection-factory-name>
    <jms-topic-name>jms/Topic/ToplinkCacheSync</jms-topic-name>
    </clustering-service>
    <remove-connection-on-error>false</remove-connection-on-error>
    </cache-synchronization-manager>
    Many thanks in advance,
    --Todd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    Thank you very much for your contribution! Yes, indeed, that was my main issue. A sessions.xml section that looks like the following (instead of the <cache-synchronization-manager> section above) does fix the problem:
    <remote-command>
    <commands>
    <cache-sync>true</cache-sync>
    </commands>
    <transport xsi:type="jms-topic-transport">
    <topic-host-url>ormi://localhost:23791/ems</topic-host-url>
    <topic-connection-factory-name>jms/Topic/ToplinkCacheSyncConnectionFactory</topic-connection-factory-name>
    <topic-name>jms/Topic/ToplinkCacheSync</topic-name>
    <jndi-naming-service>
    <user-name>oc4jadmin</user-name>
    <password>oc4j</password>
    <initial-context-factory-name>com.evermind.server.rmi.RMIInitialContextFactory</initial-context-factory-name>
    </jndi-naming-service>
    </transport>
    </remote-command>
    Thanks again,
    --Todd                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • JMS Exception during cache synchronization

    Hi,
    I am using JMS cache synchronization fro two applications . During cache synchronization I got this exception
    Local Exception Stack:
    Exception [TOPLINK-0] (OracleAS TopLink - 10g (9.0.4.5) (Build 040930)): oracle.toplink.exceptions.CommunicationException
    Exception Description: javax.jms.JMSException: enqMessage at oracle.toplink.remote.jms.JMSConnection.processCommand(JMSConnection.java:54) at oracle.toplink.internal.remote.ChangeSetPropagator$1.run(ChangeSetPropagator.java:64)
    Has this something to do with the message size ?
    Appreciate any help.
    Thanks
    Priya

    would not expect TopLink to connect twice at all. Is it possible that another service from within the ApplicationServer is connecting? I would recommend changing the JNDI location or the service port of the TIBCO JMS service and altering the TopLink JMS Clustering Service URL to reflect this change. Then verify that multiple connections are still being acquired.
    --Gordon

  • JMS and Data Cache Synchronization

    We have setup Toplink to do cache synchronization using Tibco JMS. For some reason Toplink connects to JMS using the name "anonymous" in addition to connecting with the user name we specify in the code. Toplink also seems to connect to some queue in addition to the Topic that is mentioned in the code. Does anyone know why Toplink would behave like this?

    would not expect TopLink to connect twice at all. Is it possible that another service from within the ApplicationServer is connecting? I would recommend changing the JNDI location or the service port of the TIBCO JMS service and altering the TopLink JMS Clustering Service URL to reflect this change. Then verify that multiple connections are still being acquired.
    --Gordon

Maybe you are looking for

  • Stack file that is generated does not contain any java components

    We are in process of upgrading our ecc6.0 system with ehp4. The enhancement is stuck up in configuration phase for JAVA. Though we have configured Java in solution manager the stack file that is generated does not contain any java components and so t

  • Error occurred while retrieving policy for this computer (0x8009310b)

    Hey I was wondering if someone could help me out. I applied the CU3 to SCCM SP1 CU2 and since then I'm having issues with OSD I keep getting the error.. Error occurred while retrieving policy for this computer (0x8009310b) here is the log files.. Ret

  • Can SQL 2000 and SQL 2005 drivers co-exist in PI?

    Hi, Currently in our PI environment, we have JDBC Adapter connections to SQL 2000 database servers for which the Driver has already been installed. For connecting to new SQL 2005 database servers, I understand that we have to install the SQL 2005 dri

  • "My portfolio" presents the reports in unrecognized format

    Hello, Under the "Business Intelligence" tab in the portal a user can go to "My portfolio" and see there all the reports that have been published to him. The iView uses a thumbnail layout and includes a download link that allows the user to download

  • Detecting Jboss is down and retrying after sometime

    hi, we have a JMS client that talks/ topic-publishes to a JBoss. the client is on a diffarent machine/ server. Now the problem is that if the JMSClient is up but not the jboss the context.lookup('abc') is hanging intermitantly. I tried timeouts but i