TopLink 11g Cache Coordination failure in WebSphere 6.1

Hello,
I've recently upgraded to TopLink 11g and I am trying to make cache coordination feature work in WebSphere 6.1 using JMS. Once configured I am getting the following errors on the server side:
[4/14/09 17:22:25:321 PDT] 00000032 SibMessage E [:] CWSIP0003E: An internal messaging error occurred Default.Topic.Space in com.ibm.ws.sib.processor.impl.LocalConsumerPoint, 1:1511:1.28, com.ibm.ws.sib.msgstore.ProtocolException: CWSIS1001E: The requested action could not be carried out as it does not comply with the resource manager's internal transaction protocol. at com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.addWork(MSDelegatingXAResource.java:140) at com.ibm.ws.sib.msgstore.cache.links.AbstractItemLink.cmdRemove(AbstractItemLink.java:1330) at com.ibm.ws.sib.msgstore.AbstractItem.remove(AbstractItem.java:828) at com.ibm.ws.sib.processor.impl.JSLocalConsumerPoint.receive(JSLocalConsumerPoint.java:1487) at com.ibm.ws.sib.processor.impl.ConsumerSessionImpl.receiveWithWait(ConsumerSessionImpl.java:421) at com.ibm.ws.sib.api.jms.impl.JmsMsgConsumerImpl.receiveInboundMessage(JmsMsgConsumerImpl.java:1525) at com.ibm.ws.sib.api.jms.impl.JmsMsgConsumerImpl.receive(JmsMsgConsumerImpl.java:707) at oracle.toplink.internal.remotecommand.jms.JMSTopicRemoteConnection.run(JMSTopicRemoteConnection.java:229) at java.lang.Thread.run(Thread.java:810)
[4/14/09 17:22:25:353 PDT] 00000032 SystemOut O [TopLink Warning]: 2009.04.14 17:22:25.353--ServerSession(1261194028)--Thread(Thread[Thread-65,5,WebSphere_EJB_Timer_Service_WorkManager: WM Service Group])--Local Exception Stack:
Exception [TOPLINK-22109] (Oracle TopLink - 11g (11.1.1.0.1) (Build 081030)): oracle.toplink.exceptions.RemoteCommandManagerException
Exception Description: Failed to receive JMS message from JMS provider
Internal Exception: javax.jms.JMSException: CWSIA0103E: An exception occurred while receiving a message: com.ibm.websphere.sib.exception.SIResourceException: CWSIP0003E: An internal messaging error occurred Default.Topic.Space in com.ibm.ws.sib.processor.impl.LocalConsumerPoint, 1:1526:1.28, com.ibm.ws.sib.msgstore.ProtocolException: CWSIS1001E: The requested action could not be carried out as it does not comply with the resource manager's internal transaction protocol..
     at oracle.toplink.exceptions.RemoteCommandManagerException.errorReceivingJMSMessage(RemoteCommandManagerException.java:139)
     at oracle.toplink.internal.remotecommand.jms.JMSTopicRemoteConnection.run(JMSTopicRemoteConnection.java:257)
     at java.lang.Thread.run(Thread.java:810)
Caused by: javax.jms.JMSException: CWSIA0103E: An exception occurred while receiving a message: com.ibm.websphere.sib.exception.SIResourceException: CWSIP0003E: An internal messaging error occurred Default.Topic.Space in com.ibm.ws.sib.processor.impl.LocalConsumerPoint, 1:1526:1.28, com.ibm.ws.sib.msgstore.ProtocolException: CWSIS1001E: The requested action could not be carried out as it does not comply with the resource manager's internal transaction protocol..
     at com.ibm.ws.sib.api.jms.impl.JmsMsgConsumerImpl.receiveInboundMessage(JmsMsgConsumerImpl.java:1637)
     at com.ibm.ws.sib.api.jms.impl.JmsMsgConsumerImpl.receive(JmsMsgConsumerImpl.java:707)
     at oracle.toplink.internal.remotecommand.jms.JMSTopicRemoteConnection.run(JMSTopicRemoteConnection.java:229)
     ... 1 more
Caused by: com.ibm.websphere.sib.exception.SIResourceException: CWSIP0003E: An internal messaging error occurred Default.Topic.Space in com.ibm.ws.sib.processor.impl.LocalConsumerPoint, 1:1526:1.28, com.ibm.ws.sib.msgstore.ProtocolException: CWSIS1001E: The requested action could not be carried out as it does not comply with the resource manager's internal transaction protocol.
     at com.ibm.ws.sib.processor.impl.JSLocalConsumerPoint.receive(JSLocalConsumerPoint.java:1521)
     at com.ibm.ws.sib.processor.impl.ConsumerSessionImpl.receiveWithWait(ConsumerSessionImpl.java:421)
     at com.ibm.ws.sib.api.jms.impl.JmsMsgConsumerImpl.receiveInboundMessage(JmsMsgConsumerImpl.java:1525)
     ... 3 more
Caused by: com.ibm.ws.sib.msgstore.ProtocolException: CWSIS1001E: The requested action could not be carried out as it does not comply with the resource manager's internal transaction protocol.
     at com.ibm.ws.sib.msgstore.transactions.MSDelegatingXAResource.addWork(MSDelegatingXAResource.java:140)
     at com.ibm.ws.sib.msgstore.cache.links.AbstractItemLink.cmdRemove(AbstractItemLink.java:1330)
     at com.ibm.ws.sib.msgstore.AbstractItem.remove(AbstractItem.java:828)
     at com.ibm.ws.sib.processor.impl.JSLocalConsumerPoint.receive(JSLocalConsumerPoint.java:1487)
     ... 5 more
Any idea what I am doing wrong here?
Lukas

Fixing listener is not enough. Old and lastest code has this for references to ServerPlatform.launchContainerRunnable, which WebSpherePlatform do not override:
CommandPropagator:
public void asynchronousPropagateCommand() {
// The async logic is in the run() method
rcm.logDebug("async_propagation", (Object[])null);
this.rcm.getServerPlatform().launchContainerRunnable(this);
public void propagateCommand(RemoteConnection conn) {
Object[] arguments = { command.getClass().getName(), conn.getServiceId() };
rcm.logDebug("propagate_command_to", arguments);
try {
// The result will be null on success, and an exception string on failure
Object result = conn.executeCommand(command);
if (result != null) {
// An error occurred executing the remote command
handleExceptionFromRemoteExecution(conn, (String)result);
} catch (CommunicationException comEx) {
// We got a comms exception.
this.handleCommunicationException(conn, comEx);
JMSTopicRemoteConnection:
DiscoveryManager:
public void startDiscovery() {
if (rcm.isCommandProcessorASession()) {
rcm.getCommandProcessor().processCommand(new ProfileDiscoveryStartedCommand());
// Only start if we are currently stopped
if (this.isDiscoveryStopped()) {
this.rcm.getServerPlatform().launchContainerRunnable(this);
JMSTopicTransportManager:
public Hashtable getConnectionsToExternalServicesForCommandPropagation() {
if(this.getConnectionsToExternalServices().isEmpty() && !this.rcm.isStopped()) {
this.createExternalConnection();
if(this.localConnection == null) {
// It's a good time to create localConnection,
// in a new thread - to return externalConnections promptly.
this.rcm.getServerPlatform().launchContainerRunnable(new Runnable() {
public void run() {
try {
createLocalConnection();
} catch (RemoteCommandManagerException ex) {
// Ignore exception - user had a chance to handle it in createLocalConnection method:
// for instance to change host url and create a new local connection.
return super.getConnectionsToExternalServicesForCommandPropagation();
}

Similar Messages

  • Error in Toplink 10.1.3 cache coordination using Websphere JMS

    I' am trying to setup Cache Coordination for Toplink 10.1.3 in Websphere 7 using Websphere's implementation of JMS. However I' am getting a NamingException
    when I try to lookup the Topic and TopicFactory from the JNDI tree. Admin Security is enabled in the server but not application security. I' am able to lookup
    the queues using InitialContext. Upgrading to Toplink 11 is not an option right now for us. Please help in finding out if anything is missing in my Toplink configuration.
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink-sessions
         version="10g Release 3 (10.1.3.0.0)"
         xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <session xsi:type="server-session">
              <name>default</name>
              <remote-command>
                   <commands>
                        <cache-sync>true</cache-sync>
                   </commands>
                   <transport xsi:type="jms-topic-transport">
                        <topic-connection-factory-name>jms/jobtrax.TCF</topic-connection-factory-name>
                        <topic-name>jms/jobtrax.ToplinkTopic</topic-name>
                        <jndi-naming-service>
                             <url>corbaloc:rir:/NameServiceServerRoot</url>
                             <initial-context-factory-name>com.ibm.websphere.naming.WsnInitialContextFactory</initial-context-factory-name>
                        </jndi-naming-service>
                   </transport>
              </remote-command>
    <!--<event-listener-classes>
    <event-listener-class>com.pstechnology.eaf.persistence.toplink.PostBeginTransactionListener</event-listener-class>
    </event-listener-classes>
              -->
              <logging xsi:type="toplink-log">
                   <log-level>fine</log-level>
                   <logging-options>
                        <log-exception-stacktrace>true</log-exception-stacktrace>
                        <print-thread>true</print-thread>
                        <print-session>false</print-session>
                        <print-connection>false</print-connection>
                        <print-date>true</print-date>
                   </logging-options>
              </logging>
              <primary-project xsi:type="class">com.pstechnology.toplink.ToplinkProject</primary-project>
              <login xsi:type="database-login">
                   <platform-class>com.pstechnology.eaf.persistence.toplink.Oracle10Platform</platform-class>
                   <external-connection-pooling>true</external-connection-pooling>
                   <external-transaction-controller>false</external-transaction-controller>
                   <sequencing>
                        <default-sequence xsi:type="native-sequence">
                             <name>Default</name>
                        </default-sequence>
                   </sequencing>
                   <datasource>jdbc/jobtrax_job_datasource</datasource>
                   <bind-all-parameters>true</bind-all-parameters>
              </login>
         </session>
    </toplink-sessions>
    [2/17/11 16:22:10:696 EST] 00000018 SystemOut O [TopLink Warning]:
    2011.02.17 04:22:10.690--Thread(Thread[server.startup : 0,5,main])--Local
    Exception Stack:
    Exception [TOPLINK-22103] (Oracle TopLink - 10g Release 3 (10.1.3.0.0)
    (Build 060118)): oracle.toplink.exceptions.RemoteCommandManagerException
    Exception Description: Could not look up remote connection under name
    jms/jobtrax.TCF with URL corbaloc:rir:/NameServiceServerRoot
    Internal Exception: javax.naming.NamingException: Error during resolve
    [Root exception is javax.naming.AuthenticationException: Login failed:
    com.ibm.websphere.security.auth.WSLoginFailedException [Root exception is
    com.ibm.websphere.security.auth.WSLoginFailedException]]
    at
    oracle.toplink.exceptions.RemoteCommandManagerException.errorLookingUpRemoteConnection
    (RemoteCommandManagerException.java:75)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.getTopicConnectionFactory
    (JMSTopicTransportManager.java:206)
    at
    oracle.toplink.remotecommand.jms.PstJMSTopicTransportManager.createJMSTopicRemoteConnection
    (PstJMSTopicTransportManager.java:67)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createLocalConnection
    (JMSTopicTransportManager.java:106)
    at
    oracle.toplink.remotecommand.jms.JMSTopicDiscoveryManager.startDiscovery
    (JMSTopicDiscoveryManager.java:44)
    at oracle.toplink.remotecommand.RemoteCommandManager.initialize
    (RemoteCommandManager.java:132)
    at oracle.toplink.publicinterface.DatabaseSession.login
    (DatabaseSession.java:517)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession
    (SessionManager.java:379)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getServerSession
    (TopLinkRepository.java:163)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getClientSession
    (TopLinkRepository.java:198)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getReadSession
    (TopLinkRepository.java:216)
    at com.pstechnology.eaf.persistence.toplink.TopLinkRepository.read
    (TopLinkRepository.java:318)
    at
    com.pstechnology.repository.admin.ApplicationPropertyRepository.findApplicationPropertyByEnumId
    (ApplicationPropertyRepository.java:70)
    at
    com.pstechnology.service.admin.AdministrationService.findApplicationPropertyValue
    (AdministrationService.java:179)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.getTimerRepeatIntervalValue
    (AbolishedTaskSimpleTrigger.java:45)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.afterPropertiesSet
    (AbolishedTaskSimpleTrigger.java:30)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
    (AbstractAutowireCapableBeanFactory.java:1198)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
    (AbstractAutowireCapableBeanFactory.java:1167)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
    (AbstractAutowireCapableBeanFactory.java:427)
    at org.springframework.beans.factory.support.AbstractBeanFactory
    $1.getObject(AbstractBeanFactory.java:249)
    at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
    (DefaultSingletonBeanRegistry.java:155)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:246)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:160)
    at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
    (DefaultListableBeanFactory.java:291)
    at
    org.springframework.context.support.AbstractApplicationContext.refresh
    (AbstractApplicationContext.java:352)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:122)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:66)
    at com.pstechnology.service.SchedulingContext.initialize
    (SchedulingContext.java:56)
    at com.pstechnology.servlet.InitializationServlet.init
    (InitializationServlet.java:52)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init
    (ServletWrapper.java:358)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init
    (ServletWrapperImpl.java:169)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize
    (ServletWrapper.java:1809)
    at
    com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper
    (WebExtensionProcessor.java:98)
    at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings
    (WebApp.java:678)
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally
    (WebApp.java:429)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize
    (WebAppImpl.java:304)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication
    (WebGroupImpl.java:100)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication
    (VirtualHostImpl.java:166)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp
    (WSWebContainer.java:731)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication
    (WSWebContainer.java:616)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install
    (WebContainerImpl.java:376)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start
    (WebContainerImpl.java:668)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:1122)
    at
    com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart
    (DeployedApplicationImpl.java:1319)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start
    (DeployedModuleImpl.java:609)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start
    (DeployedApplicationImpl.java:944)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication
    (ApplicationMgrImpl.java:725)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:2046)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:439)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start
    (CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:382)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300
    (CompositionUnitMgrImpl.java:110)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl
    $CUInitializer.run(CompositionUnitMgrImpl.java:949)
    at com.ibm.wsspi.runtime.component.WsComponentImpl
    $_AsynchInitializer.run(WsComponentImpl.java:349)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
    Internal Exception Stack:
    javax.naming.NamingException: Error during resolve [Root exception is
    javax.naming.AuthenticationException: Login failed:
    com.ibm.websphere.security.auth.WSLoginFailedException [Root exception is
    com.ibm.websphere.security.auth.WSLoginFailedException]]
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup
    (CNContextImpl.java:1840)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup
    (CNContextImpl.java:1749)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookupExt
    (CNContextImpl.java:1500)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookup
    (CNContextImpl.java:637)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:165)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:179)
    at javax.naming.InitialContext.lookup(InitialContext.java:455)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.getTopicConnectionFactory
    (JMSTopicTransportManager.java:204)
    at
    oracle.toplink.remotecommand.jms.PstJMSTopicTransportManager.createJMSTopicRemoteConnection
    (PstJMSTopicTransportManager.java:67)
    at
    oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createLocalConnection
    (JMSTopicTransportManager.java:106)
    at
    oracle.toplink.remotecommand.jms.JMSTopicDiscoveryManager.startDiscovery
    (JMSTopicDiscoveryManager.java:44)
    at oracle.toplink.remotecommand.RemoteCommandManager.initialize
    (RemoteCommandManager.java:132)
    at oracle.toplink.publicinterface.DatabaseSession.login
    (DatabaseSession.java:517)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession
    (SessionManager.java:379)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getServerSession
    (TopLinkRepository.java:163)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getClientSession
    (TopLinkRepository.java:198)
    at
    com.pstechnology.eaf.persistence.toplink.TopLinkRepository.getReadSession
    (TopLinkRepository.java:216)
    at com.pstechnology.eaf.persistence.toplink.TopLinkRepository.read
    (TopLinkRepository.java:318)
    at
    com.pstechnology.repository.admin.ApplicationPropertyRepository.findApplicationPropertyByEnumId
    (ApplicationPropertyRepository.java:70)
    at
    com.pstechnology.service.admin.AdministrationService.findApplicationPropertyValue
    (AdministrationService.java:179)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.getTimerRepeatIntervalValue
    (AbolishedTaskSimpleTrigger.java:45)
    at
    com.pstechnology.scheduling.trigger.AbolishedTaskSimpleTrigger.afterPropertiesSet
    (AbolishedTaskSimpleTrigger.java:30)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods
    (AbstractAutowireCapableBeanFactory.java:1198)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean
    (AbstractAutowireCapableBeanFactory.java:1167)
    at
    org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean
    (AbstractAutowireCapableBeanFactory.java:427)
    at org.springframework.beans.factory.support.AbstractBeanFactory
    $1.getObject(AbstractBeanFactory.java:249)
    at
    org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton
    (DefaultSingletonBeanRegistry.java:155)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:246)
    at
    org.springframework.beans.factory.support.AbstractBeanFactory.getBean
    (AbstractBeanFactory.java:160)
    at
    org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons
    (DefaultListableBeanFactory.java:291)
    at
    org.springframework.context.support.AbstractApplicationContext.refresh
    (AbstractApplicationContext.java:352)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:122)
    at
    org.springframework.context.support.ClassPathXmlApplicationContext.<init>
    (ClassPathXmlApplicationContext.java:66)
    at com.pstechnology.service.SchedulingContext.initialize
    (SchedulingContext.java:56)
    at com.pstechnology.servlet.InitializationServlet.init
    (InitializationServlet.java:52)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.init
    (ServletWrapper.java:358)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.init
    (ServletWrapperImpl.java:169)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize
    (ServletWrapper.java:1809)
    at
    com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper
    (WebExtensionProcessor.java:98)
    at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings
    (WebApp.java:678)
    at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinally
    (WebApp.java:429)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize
    (WebAppImpl.java:304)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication
    (WebGroupImpl.java:100)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication
    (VirtualHostImpl.java:166)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp
    (WSWebContainer.java:731)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication
    (WSWebContainer.java:616)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install
    (WebContainerImpl.java:376)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start
    (WebContainerImpl.java:668)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:1122)
    at
    com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart
    (DeployedApplicationImpl.java:1319)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start
    (DeployedModuleImpl.java:609)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start
    (DeployedApplicationImpl.java:944)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication
    (ApplicationMgrImpl.java:725)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start
    (ApplicationMgrImpl.java:2046)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:439)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start
    (CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start
    (CompositionUnitMgrImpl.java:382)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$300
    (CompositionUnitMgrImpl.java:110)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl
    $CUInitializer.run(CompositionUnitMgrImpl.java:949)
    at com.ibm.wsspi.runtime.component.WsComponentImpl
    $_AsynchInitializer.run(WsComponentImpl.java:349)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563)
    Caused by: javax.naming.AuthenticationException: Login failed:
    com.ibm.websphere.security.auth.WSLoginFailedException [Root exception is
    com.ibm.websphere.security.auth.WSLoginFailedException]
    at com.ibm.ws.naming.util.SecurityUtil.login(SecurityUtil.java:121)
    at com.ibm.ws.naming.jndicos.CNContextImpl.login
    (CNContextImpl.java:4516)
    at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve
    (CNContextImpl.java:2781)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup
    (CNContextImpl.java:1790)
    ... 60 more
    Caused by: com.ibm.websphere.security.auth.WSLoginFailedException
    at com.ibm.ws.security.ltpa.LTPAServerObject.authenticate
    (LTPAServerObject.java:998)
    at com.ibm.ws.security.server.lm.ltpaLoginModule.login
    (ltpaLoginModule.java:643)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke
    (NativeMethodAccessorImpl.java:48)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke
    (DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:600)
    at javax.security.auth.login.LoginContext.invoke
    (LoginContext.java:795)
    at javax.security.auth.login.LoginContext.access$000
    (LoginContext.java:209)
    at javax.security.auth.login.LoginContext$4.run
    (LoginContext.java:709)
    at java.security.AccessController.doPrivileged
    (AccessController.java:251)
    at javax.security.auth.login.LoginContext.invokePriv
    (LoginContext.java:706)
    at javax.security.auth.login.LoginContext.login
    (LoginContext.java:603)
    at com.ibm.ws.security.auth.JaasLoginHelper.jaas_login
    (JaasLoginHelper.java:354)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:4024)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:3728)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:3724)
    at com.ibm.ws.security.auth.ContextManagerImpl.login
    (ContextManagerImpl.java:3475)
    at com.ibm.ws.naming.util.SecurityUtil$1.run(SecurityUtil.java:115)
    at com.ibm.ws.naming.util.SecurityUtil$1.run(SecurityUtil.java:111)
    at com.ibm.ws.security.util.AccessController.doPrivileged
    (AccessController.java:118)
    at com.ibm.ws.naming.util.SecurityUtil.login(SecurityUtil.java:109)
    ... 63 more
    Caused by: com.ibm.websphere.security.PasswordCheckFailedException
    at com.ibm.ws.wim.registry.util.LoginBridge.checkPassword
    (LoginBridge.java:204)
    at com.ibm.ws.wim.registry.WIMUserRegistry$1.run
    (WIMUserRegistry.java:181)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAs
    (ContextManagerImpl.java:4610)
    at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem
    (ContextManagerImpl.java:4698)
    at
    com.ibm.ws.wim.security.authz.jacc.JACCSecurityManager.runAsSuperUser
    (JACCSecurityManager.java:432)
    at
    com.ibm.ws.wim.security.authz.ProfileSecurityManager.runAsSuperUser
    (ProfileSecurityManager.java:964)
    at com.ibm.ws.wim.registry.WIMUserRegistry.checkPassword
    (WIMUserRegistry.java:170)
    at com.ibm.ws.security.registry.UserRegistryImpl.checkPassword
    (UserRegistryImpl.java:338)
    at com.ibm.ws.security.ltpa.LTPAServerObject.authenticate
    (LTPAServerObject.java:973)
    ... 83 more
    Caused by: com.ibm.websphere.wim.exception.PasswordCheckFailedException:
    CWWIM4537E No principal is found from the 'admin' principal name.
    at com.ibm.ws.wim.ProfileManager.loginImpl(ProfileManager.java:3607)
    at com.ibm.ws.wim.ProfileManager.genericProfileManagerMethod
    (ProfileManager.java:292)
    at com.ibm.ws.wim.ProfileManager.login(ProfileManager.java:400)
    at com.ibm.websphere.wim.ServiceProvider.login
    (ServiceProvider.java:485)
    at com.ibm.ws.wim.registry.util.LoginBridge.checkPassword
    (LoginBridge.java:169)

    We are taking another run at TopLink 10.1.3 and have run into this problem again.
    It turns out that this is fairly reproducable. It occurs when we remove the last item (or all of the items) from the parent collection.
    It occurs with transparent indirection on or off.
    I've added several tests to our Junit suite to detect this behavior with various objects. Sometimes they fail, sometimes they pass. Going back to TopLink 9, a couple of the tests that fail in 10 fail, but most of them pass.
    Given the number of folks who shared our probem in TopLink9, I wonder how many have a similar problem in 10. I also wonder why the behavior differs somewhat between 9 and 10. Though our expanded test suite is now detecting the behavior in 9, it is less frequent.

  • Issues with TopLink Cache Coordination using JMS for manual DB updates

    Hi,
    We are having 2 web application using same Database and Toplink library but 2 session objects for both the applications. We are using JMS for cache coordination. JMS propagating messages successfully between the applications and able to see the same object changes in both the applications properly. Now, we are trying to refresh cache for manual updates in Database. We are trying to refresh single object which is modified in database in one application, refreshing in one application from which refresh happened but not in other application (JMS publishing the topic but updating one).
    Our intention is refreshing in one application so that JMS should coordinate and update in others when DB manual updates. Please let us know any comments for the same.
    Database using: Oracle 11g
    Toplink Version:- 9.0.3

    See,
    http://www.coderanch.com/t/592919/ORM/databases/Toplink-Cache-coordination-JMS-manual

  • Toplink Cache Coordination using JMS - doesn't work, gives a warning

    Hi, I am trying to implement cache coordination on Oracle App Server 9.0.4 in a clustered environment. I have two application sessions configured to use JMS for cache coordination. When I make an update to one of the objects in one application which is cached and used by both the applications, I get the below warning in the log file and the changes does not propogate to the other application.
    [TopLink Warning]: 2007.10.23 01:45:17.463--ServerSession(802908582)--Thread(Thread[Thread-112,5,ApplicationServerThreadGroup])--null
    command failed due to: javax.jms.JMSException: getObject
    at com.evermind.server.jms.JMSUtils.makeJMSException(JMSUtils.java:1899)
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1915)
    at com.evermind.server.jms.EvermindObjectMessage.getObject(EvermindObjectMessage.java:128)
    at oracle.toplink.internal.remotecommand.jms.JMSTopicRemoteConnection.onMessage(JMSTopicRemoteConnection.java:73)
    at oracle.toplink.remotecommand.jms.JMSTopicTransportManager$JMSOnMessageHelper.run(JMSTopicTransportManager.java:261)
    I have no clue from the warning above as to what could be wrong. Does anybody have any idea? Is there a way I could debug and see what really is happening?
    Thanks
    Swapna

    Hi, thanks for your response.
    I set the logging level to all and this is the complete stack trace I see in the log.
    [TopLink Finest]: 2007.10.25 01:54:04.547--ServerSession(2121070148)--Thread(Thread[Thread-465,5,main])--Retreived remote message from
    JMS topic: ICMS Toplink topic
    [TopLink Warning]: 2007.10.25 01:54:04.555--ServerSession(2121070148)--Thread(Thread[Thread-465,5,main])--null command failed due to:
    javax.jms.JMSException: getObject
    at com.evermind.server.jms.JMSUtils.makeJMSException(JMSUtils.java:1899)
    at com.evermind.server.jms.JMSUtils.toJMSException(JMSUtils.java:1915)
    at com.evermind.server.jms.EvermindObjectMessage.getObject(EvermindObjectMessage.java:128)
    at oracle.toplink.internal.remotecommand.jms.JMSTopicRemoteConnection.onMessage(JMSTopicRemoteConnection.java:73)
    at oracle.toplink.remotecommand.jms.JMSTopicTransportManager$JMSOnMessageHelper.run(JMSTopicTransportManager.java:261)
    I am using toplink version 10.1.3.1. I contacted Oracle Technical support but so far they were not able to figure this out. I will try using RMI as you suggested to make sure.
    I have another question to ask you about logging. I am working on a different application which is in production and uses toplink version 9.0.3. Due to excessive logging, I am trying to set the logging level to warning and I don't see this as an option in 9.0.3. The documentation does talk about it but using toplink workbench and I can't open the session.xml using Toplink workbench 9.0.3. Is it doable at all in toplink version 9.0.3?
    Thanks
    Swapna

  • Configuring Toplink Cache Coordination using JMS

    After having spent one whole day reading documentation on the above topic, I did not get anywhere. I am looking for a direction to start aquainting myself with Oracle JMS basics to enable me with the configuration in toplink. I hope someone could please help me in getting started, direct me to documentation and/or examples and then I could have some specific and meaningful questions to ask.
    As of now, I have these questions.
    1) In order to configure Toplink Cache Coordination using JMS, do I use Oracle AS JMS or OJMS provider?
    2) Should I be configuring OJMS before I could use Oracle AS JMS?
    3) If I am using Oracle 10.1.2 Application Server, will OJMS Database Schema be defined and the resource adapter deployed by default or is there a way I check this using Oracle Enterprise Manager Console.
    4) Should I be adding a JMS provider within the OC4J for the application I am using before I do any of the above?
    Any help will be highly appreciated.
    Thanks
    Swapna

    Ok. I found my answers
    1) In order to configure Toplink Cache Coordination using JMS, do I use Oracle AS JMS or OJMS provider?
    Either of the one can be used. Here is what I found regarding the trade off
    OJMS and OracleAS JMS are both J2EE 1.3 compliant JMS providers from Oracle. OJMS has been integrated into OracleAS 10g using the JCA adapter while at the same time leveraging Advanced Queuing in the Oracle Database for persistence and recoverability. If database recoverability guarantees, SQL queriability, transparent application failover, message transformation, propagation are required then Oracle recommends using OJMS as the JMS provider.
    OracleAS JMS is a lightweight, in-memory/file based queuing system that provides a complete J2EE 1.3 JMS implementation. It is suited for applications that do not require Oracle specific JMS extensions or the recoverability guarantees that OJMS provides.
    2) Should I be configuring OJMS before I could use Oracle AS JMS?
    No. OracleAS JMS is always provided and preconfigured, except for the topics and queues, with the OC4J installation.
    3) If I am using Oracle 10.1.2 Application Server, will OJMS Database Schema be defined and the resource adapter deployed by default or is there a way I check this using Oracle Enterprise Manager Console.
    No. The schema needs to be created by the admin and OJMS needs to be configured as the JMS Provider using this schema.
    4) Should I be adding a JMS provider within the OC4J for the application I am using before I do any of the above?
    Yes, if not using Oracle AS JMS.
    Hope that was accurate.

  • Toplink cache coordination

    I'm just getting started on setting up clustered Toplink caches.
    I'm attracted to the JMS option because setting up message brokers on our system also opens up a number of other possibilities, in particular ensuring caches are invalidated following batch updates, arranging for Swing programs to update their displayed data and so on.
    I'd like to hear some experience from people using various message brokers for Toplink cache coordination. Particularly with Toplink web apps under Oracle application server.
    And incidentally, anyone know how to configure cache coordination for old ADF applications where the Toplink stuff is rather well hidden?

    I raised a TAR with Oracle. The short answer is that you can't do cache coordination either with ADF business objects, or with Toplink Essentials (as opposed to Oracle Toplink, which doesn't yet support JPA).

  • Toplink cache coordination problem with opmn lookup

    Dear all,
    We encounter some problems when we use opmn url and jms to realize the toplink cache coordination.
    Scenario:
    1. Using oracle application server 10g, create three processes(jvm) on one oc4j instance
    2. Using oc4j in memory jms server for cache coordination
    3. Using opmn url to lookup jms topic connection factory and connection, opmn url: opmn:ormi://shasudv4:6004:OC4J_TTS/tts
    When we start oc4j instance, we find the log, all the toplink cache coordination properites has been set to toplink framework, and remote command manager has been initialized successfully. All in memory jms server has also been started successfully, there are three listeners on the topic.
    But, when we test the synchronization, the data can't be synchronized between all the processes, two of them is ok, the rest of them has some problem to coordinate with the other two. There are no exceptions, we have set the level of toplink log to 'all'.
    I have checked the thread dump, I find that "HTTPThreadGroup", "RMICallHandler" and "JMSRequestHandler" threads are involved in cache synchronization.
    So, we are obliged to change the opmn url to ormi url, so we can only set a bound for rmi ports of processes, because the ormi port is dynamicly assigned.
    &lt;port id="rmi" range="12405-12407" /&gt;
    This seems ok, and involved thread are: "RMICallHander" and "JMSRequestHandler". But we also concern that we have restricted the port bound of ormi port of every instance.
    Thanks of any advice.

    I raised a TAR with Oracle. The short answer is that you can't do cache coordination either with ADF business objects, or with Toplink Essentials (as opposed to Oracle Toplink, which doesn't yet support JPA).

  • RMI Cache coordination on Glassfish 2.x and Eclipselink 1.2

    We are trying to get eclipseLink shared cache working on Glassfish. As of Eclipselink 1.2 this can be done in the persistence.xml and we have added the following properties. where $host is the ip addesss of the server. We have no authentication setup so have not set the username and password properites.
    <property name="eclipselink.cache.coordination.protocol" value="rmi" />
    <property name="eclipselink.cache.coordination.rmi.url" value="rmi://$host:9037" />
    <property name="eclipselink.cache.coordination.rmi.announcement-delay" value="1000" />
    <property name="eclipselink.cache.coordination.rmi.multicast-group" value="224.0.0.2" />
    <property name="eclipselink.cache.coordination.rmi.multicast-group.port" value="3121" />
    <property name="eclipselink.cache.coordination.packet-time-to-live" value="2" />
    <property name="eclipselink.cache.coordination.jndi.initial-context-factory" value="com.sun.enterprise.naming.SerialInitContextFactory" />
    <property name="eclipselink.cache.coordination.remove-connection-on-error" value="true" />
    <property name="eclipselink.cache.coordination.propagate-asynchronously" value="false" />
    <property name="eclipselink.cache.coordination.naming-service" value="0" />
    From what I have read this should work, but we are getting the following error.
    [#|2010-07-16T09:10:11.782+0200|SEVERE|sun-appserver2.1|javax.enterprise.system.core.naming|_ThreadID=14;_ThreadName=Thread-30;_RequestID=6a82e16c-773b-4582-aa06-9415c99d721a;|NAM0002:
    Exception in NamingManagerImpl copyMutableObject().
    java.io.NotSerializableException:
    org.eclipse.persistence.sessions.coordination.RemoteCommandManager
    at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at
    java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at
    java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at
    java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at
    java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at
    com.sun.enterprise.naming.NamingUtils.makeCopyOfObject(NamingUtils.java:64)
    at
    com.sun.enterprise.naming.LocalSerialContextProviderImpl.rebind(LocalSerialContextProviderImpl.java:105)
    at
    com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:503)
    at javax.naming.InitialContext.rebind(InitialContext.java:408)
    at
    org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInJNDI(RMITransportManager.java:150)
    at
    org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:128)
    at
    org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:197)
    at java.lang.Thread.run(Thread.java:619)
    |#]
    [#|2010-07-16T09:10:11.796+0200|WARNING|sun-appserver2.1|org.eclipse.persistence.session.file:/|_ThreadID=14;_ThreadName=Thread-30;_RequestID=6a82e16c-773b-4582-aa06-9415c99d721a;|
    Local Exception Stack:
    Exception [EclipseLink-22102] (Eclipse Persistence Services -
    2.0.0.v20090725-r4721):
    org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not post connection in local naming service
    under name Service[EclipseLinkCommandChannel,
    e97d5543-56ba-4ded-9d23-7f5dad7a6dc8, rmi://172.17.2.115:9037]
    Internal Exception: java.lang.RuntimeException: Cant copy Serializable
    object:
    at
    org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:87)
    at
    org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInJNDI(RMITransportManager.java:153)
    at
    org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:128)
    at
    org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:197)
    at java.lang.Thread.run(Thread.java:619)
    Caused by: java.lang.RuntimeException: Cant copy Serializable object:
    at
    com.sun.enterprise.naming.NamingUtils.makeCopyOfObject(NamingUtils.java:82)
    at
    com.sun.enterprise.naming.LocalSerialContextProviderImpl.rebind(LocalSerialContextProviderImpl.java:105)
    at
    com.sun.enterprise.naming.SerialContext.rebind(SerialContext.java:503)
    at javax.naming.InitialContext.rebind(InitialContext.java:408)
    at
    org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInJNDI(RMITransportManager.java:150)
    ... 3 more
    Caused by: java.io.NotSerializableException:
    org.eclipse.persistence.sessions.coordination.RemoteCommandManager
    at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156)
    at
    java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509)
    at
    java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474)
    at
    java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392)
    at
    java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150)
    at
    java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326)
    at
    com.sun.enterprise.naming.NamingUtils.makeCopyOfObject(NamingUtils.java:64)
    ... 7 more
    |#]I suspect that it is not connecting, because I get a similar error if I choose an invalid port for the url. The IP is correct and the port 9037 is setup as the IIOP port in Glassfish.
    Any ideas on how to solve this?

    Hi Bob
    Thank you for your kind input.
    I'm using a Sonnet D800 which has eSata cables. Here are my 'Raid Properties' below. There are various 'Scan' options on the Raid but I'm scared to touch them in case they affect all my captured video I'm working with!
    Raid Type: RAID5
    Capacity 5.46TB
    Members: 7
    Partitions: 1
    Mirrors: None
    Interleave: 128KB
    Sector Size:512 bytes
    Drives: 8
    Faulted: 0
    Raid Groups: 1
    Hot Spares: 1
    Features:
    Speed Read - Always
    Rebuild Priority - Same
    Prefetch: 0
    Auto Rebuild: Yes
    I'm using a:
    2 x 2.66 GHz Quad-Core Intel Xeon
    8 GB 1066 MHz DDR3 ATI Radeon HD 4870
    Mac OXX (10.5.7)
    From Wiki "Raid 5": 'Striped set with distributed parity or interleave parity. Distributed parity requires all drives but one to be present to operate; drive failure requires replacement, but the array is not destroyed by a single drive failure. Upon drive failure, any subsequent reads can be calculated from the distributed parity such that the drive failure is masked from the end user. The array will have data loss in the event of a second drive failure and is vulnerable until the data that was on the failed drive is rebuilt onto a replacement drive. A single drive failure in the set will result in reduced performance of the entire set until the failed drive has been replaced and rebuilt.'
    I might contact Sonnet and request how I might perform a scan to ensure it's all working normally.
    I haven't tried FCP Rescue yet (downloading it now) but had successfully manually Trashed my Preferences several times.
    I have searched for Caffeine but can't seem to locate it - can you name some search terms so I might be able to find it in a search engine please?
    "The mac (like Windows) doesn't seem to understand that CPU usage = use, verse just cursor/keyboard movements." -- you never know, this might well be the problem, something as simple as a keyboard assignment for a quick triple tap of J or L for fast rewind or fast forward in the FCP viewer?

  • How to add a new object to Toplink session cache?

    Toplink Experts,
    I have a question on Toplink 9.0.4.5 (I know this is older version of Toplink but this is what we are using right now). Let me give you little context before I ask the question.
    Toplink server session brokers client sessions (that are spawned by it) and gets changes made in client sessions into server session through transaction commits. Process involved in getting some thing into database using Toplink is: 1) Get client session 2) Register object to be written into database with Toplink's UnitOfWork (UOW). This registration creates two copies of the object registered (original object). Working clone for client application for modifications, backup clone for Toplink to compare the changes made to the working clone later 4) Make changes to the working clone 5) Complete the transaction (and so commit UOW). If transaction commits successfully, Toplink writes the changes from the working clone into database first and applies the same changes made to the working clone to the original object in Toplink server session cache next. Oracle recommends using UOW to write some thing into database. Using UOW involves a transaction and it writes changes into database first before the original object in Toplink server session cache is refreshed.
    Now comes my question: Is there a way to add a brand new object (persistent object) into Toplink server session cache with out writing it first into database? I am OK if I need to use UOW and also to use transaction to make the change but I just want to be able to refresh the original object in the server session cache with out writing any thing into database. If there is a way to do this? What are the disadvantages in doing this way though? I have read Oracle's Toplink developer guide (10.1.3) and Javadocs from Oracle on UnitOfWork/Session etc all related interfaces and classes but I could not find a way. Please help!
    Syam

    There are a couple things wrong with the method you posted. The first being uow.registerObject() is going to cause the object to be treated as new if you are not using the TopLink cache.
    There really is not any supported mechanism to do what you are looking to do. TopLink 11g has the hooks to replace the TopLink cache with a distributed cache (and the TopLink-Grid product uses these to use Coherence as the TopLink cache) but earlier versions did not have this.
    If you are willing to work outside what would be officially supported and no component of the application is using the ServerSession cache (ie all queries refresh) then something like the following may work for you:
    public void prepareObjectForSave(Object userEditedObject, Object gigaSpacesObject)
    UnitOfWork unitOfWork = this.dbContext.getSession().acquireUnitOfWork();
    Descriptor descriptor = this.dbContext.getSession().getDescriptor(gigaSpacesObject);
    Object pkVector = descriptor.getObjectBuilder().extractPrimaryKeyFromObject(gigaSpacesObject, this.dbContext.getSession());
    Object cloneOfMostRecentlyUpdatedObject = (Object)unitOfWork.cloneAndRegisterObject(gigaSpacesObject, new CacheKey(pKVector), descriptor);
    unitOfWork.mergeCloneWithReferences(userEditedObject);
    unitOfWork.commit();
    }You will need to tweak the above code to have it match the APIs in your version of TopLink and you should test thoroughly.
    --Gordon                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Cache Coordination 10.1.3

    Hi,
    I am using Oracle 10.1.3 and using cache co-ordination using RMC
    here is the sessions.xml where I specify the attributes
    <remote-command>
    <commands>
    <cache-sync>true</cache-sync>
    </commands>
    <transport xsi:type="jms-topic-transport">
    <topic-host-url>ormi://cqteststation:23791/CQM</topic-host-url>
    <topic-connection-factory-name>java:comp/resource/ojmsdemo/TopicConnectionFactories/myTCF</topic-connection-factory-name>
    <topic-name>java:comp/resource/ojmsdemo/Topics/lb_jms_q</topic-name>
    <jndi-naming-service>
    <url>ormi://cqteststation:23791/CQM</url>
    <user-name>oc4jadmin</user-name>
    <password>welcome</password>
    <initial-context-factory-name>com.evermind.server.rmi.RMIInitialContextFactory</initial-context-factory-name>
    </jndi-naming-service>
    </transport>
    </remote-command>
    I get session using the method
    serverSession = (ServerSession) sesionManager.getSession(
    new XMLSessionConfigLoader(),
    "CQMSession",
    getClass().getClassLoader(),
    true,
    false,
    true);
    I get the following exception while the application is started
    java.lang.NullPointerException
         at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.removeLocalConnection(JMSTopicTransportManager.java:284)
         at oracle.toplink.remotecommand.TransportManager.discardConnections(TransportManager.java:402)
         at oracle.toplink.remotecommand.RemoteCommandManager.shutdown(RemoteCommandManager.java:154)
         at oracle.toplink.publicinterface.DatabaseSession.logout(DatabaseSession.java:581)
         at oracle.toplink.threetier.ServerSession.logout(ServerSession.java:604)
         at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:361)
         at com.starkey.cqm.dao.PersistenceService.initializeService(PersistenceService.java:73)
         at com.starkey.cqm.bcs.CQMServiceManager.createService(CQMServiceManager.java:68)
         at com.starkey.cqm.web.action.LogonAction.<init>(LogonAction.java:54)
    Has any one got this before?
    Thanks
    Priya

    Hi Priya
    I am trying to set up Cache Synchronization between two applications using JMS. I get the following error
    TopLink Warning]: 2007.10.18 01:53:54.315--ServerSession(723787948)--Thread(Thread[Orion Launcher,5,main])--Local Exception Stack:
    Exception [TOPLINK-22103] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.RemoteCommandManagerException
    Exception Description: Could not look up remote connection under name jms/ICMSTopLinkTopicConnectionFactory with URL ormi://axim19.nysdot.private:23791/ICMSWeb
    Internal Exception: javax.naming.NamingException: Lookup error: java.net.ConnectException: A remote host refused an attempted connect
    operation.; nested exception is:
    java.net.ConnectException: A remote host refused an attempted connect operation. [Root exception is java.net.ConnectException: A remote
      host refused an attempted connect operation.]
    at oracle.toplink.exceptions.RemoteCommandManagerException.errorLookingUpRemoteConnection(RemoteCommandManagerException.java:75)
    at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.getTopicConnectionFactory(JMSTopicTransportManager.java:206)
    at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createJMSTopicRemoteConnection(JMSTopicTransportManager.java:84)
    at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createLocalConnection(JMSTopicTransportManager.java:106)
    at oracle.toplink.remotecommand.jms.JMSTopicDiscoveryManager.startDiscovery(JMSTopicDiscoveryManager.java:44)
    at oracle.toplink.remotecommand.RemoteCommandManager.initialize(RemoteCommandManager.java:132)
    at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:517)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:379)
    at us.ny.state.dot.common.data.toplink.ToplinkDataManagerPeer.<init>(ToplinkDataManagerPeer.java:54)
    I made the following changes to the jms.xml:
    <topic name="ICMS Toplink topic" location="jms/ICMSTopLinkTopic">
    <description>ICMS Toplink topic</description>
    </topic>
    <topic-connection-factory name="ICMS Toplink topicConnectionFactory" location="jms/ICMSTopLinkTopicConnectionFactory">
    </topic-connection-factory>
    My sessions.xml entry looks like this:
    <remote-command>
    <commands>
    <cache-sync>true</cache-sync>
    </commands>
    <transport xsi:type="jms-topic-transport">
    <topic-host-url>ormi://axim19.nysdot.private:23791/ICMSWeb</topic-host-url>
    <topic-connection-factory-name>jms/ICMSTopLinkTopicConnectionFactory</topic-connection-factory-name>
    <topic-name>jms/ICMSTopLinkTopic</topic-name>
    <jndi-naming-service>
    <url>ormi://axim19.nysdot.private:23791/ICMSWeb</url>
    <user-name>adminUser</user-name>
    <password>xxxxxxxxxx</password>
    </jndi-naming-service>
    </transport>
    </remote-command>
    Do you have any idea what could be wrong? I am not very sure about the topic-url I set up? Without cache coordination my application runs on http://axim19.nysdot.private:7782/ICMSWeb, and I set up jms on the same OC4J that hosts my application.
    Any help regarding this is highly appreaciated.
    Thanks
    Swapna

  • Cache coordination in 10.1.3

    Hi,
    I am using toplink cache coordination feature using JMS in version 10.1.3
    My sessions.xml for the cache coordination is given below
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink-sessions version="9.0.4" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <session xsi:type="server-session">
    <name>CQMSession</name>
    <remote-command>
    <commands>
    <cache-sync>true</cache-sync>
    </commands>
    <transport xsi:type="jms-topic-transport">
    <!-- <topic-host-url>ormi://localhost:23791</topic-host-url> -->
    <topic-connection-factory-name>jms/CacheTopicConnectionFactory</topic-connection-factory-name>
    <topic-name>jms/CacheTopic</topic-name>
    <jndi-naming-service>
    <user-name>cqmuser</user-name>
    <password>BB742416276274A46959A54867978929</password>
    </jndi-naming-service>
    </transport>
    </remote-command>
    <event-listener-classes/>
    <logging xsi:type="toplink-log">
    <log-level>severe</log-level>
    </logging>
    I have JMS topic set up in jms.xml
    <!-- topic connection factories -->
    <topic-connection-factory
    location="jms/CacheTopicConnectionFactory"
    username="cqmuser"
    password="password"
    />
    <topic
    name="cache topic"
    location="jms/CacheTopic"
    >
    <description>topic used for cache sync</description>
    </topic>
    When I run the application, I get the exception
    Exception [TOPLINK-22103] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.RemoteCommandManagerException
    Exception Description: Could not look up remote connection under name jms/CacheTopicConnectionFactory with URL ormi://localhost:23791
    Internal Exception: javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException: Not authorized; nested exception is:
         javax.naming.AuthenticationException: Not authorized [Root exception is javax.naming.AuthenticationException: Not authorized]
         at oracle.toplink.exceptions.RemoteCommandManagerException.errorLookingUpRemoteConnection(RemoteCommandManagerException.java:75)
         at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.getTopicConnectionFactory(JMSTopicTransportManager.java:206)
         at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createJMSTopicRemoteConnection(JMSTopicTransportManager.java:84)
         at oracle.toplink.remotecommand.jms.JMSTopicTransportManager.createLocalConnection(JMSTopicTransportManager.java:106)
         at oracle.toplink.remotecommand.jms.JMSTopicDiscoveryManager.startDiscovery(JMSTopicDiscoveryManager.java:44)
         at oracle.toplink.remotecommand.RemoteCommandManager.initialize(RemoteCommandManager.java:132)
         at oracle.toplink.publicinterface.DatabaseSession.login(DatabaseSession.java:517)
         at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:379)
         at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:242)
    Any help appreciated.
    Thanks
    Priya

    Hi,
    This issue was resolved . Instead of using a custom user, use oc4jadmin and the password ( default - welcome).
    THanks
    Priya

  • RMI Cache Coordination

    I'm working on getting RMI based cache coordination functioning in my application using Eclipselink 1. I am using the 'INVALIDATE_CHANGED_OBJECTS' annotation and trying to get changed objects to propigate across 2 servers. I am using a function I got from the eclipselink list:
    public void customize(Session session) throws Exception {
    AbstractSession sessionImpl = (AbstractSession) session;
    RemoteCommandManager cm = new RemoteCommandManager(sessionImpl);
    cm.setShouldPropagateAsynchronously(true);
    cm.getDiscoveryManager().setAnnouncementDelay(10);
    cm.getTransportManager().setNamingServiceType(
    TransportManager.REGISTRY_NAMING_SERVICE);
    cm.setUrl("rmi://localhost:8881");
    cm.setServerPlatform(sessionImpl.getServerPlatform());
    sessionImpl.setCommandManager(cm);
    sessionImpl.setShouldPropagateChanges(true);
    cm.initialize();
    try {
    Thread.sleep(2000);
    } catch (Exception ignore) {
    and getting my factories as such:
    emf = Persistence.createEntityManagerFactory(s);
    new RMICacheCoordinationConfig().customize(JpaHelper.getServerSession(emf));
    em = emf.createEntityManager();
    After I make a few calls, I get several stack traces related to RMI I am fairly new to Toplink/Eclipselink and have not done much in the way of RMI.
    Here are the exceptions:
    [EPS Warning]: 2007.11.30 11:02:16.972--ServerSession(31985466)--Thread(Thread[Thread-8,5,main])--Local Exception Stack:
    Exception [EclipseLink-22102] (Eclipse Persistence Services - 1.0M1 (Build 20071105)): org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not post connection in local naming service under name rmi://localhost:8881/13598682 Internal Exception: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:84)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:157)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:110)
    at org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:194)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:273)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Naming.java:160)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:154)
    ... 3 more
    Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readByte(DataInputStream.java:241)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215)
    ... 8 more
    Exception in thread "Thread-8" Local Exception Stack:
    Exception [EclipseLink-22102] (Eclipse Persistence Services - 1.0M1 (Build 20071105)): org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not post connection in local naming service under name rmi://localhost:8881/13598682 Internal Exception: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:84)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:157)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:110)
    at org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:194)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:273)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Naming.java:160)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:154)
    ... 3 more
    Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readByte(DataInputStream.java:241)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215)
    ... 8 more
    [EPS Warning]: 2007.11.30 11:03:17.594--ServerSession(31985466)--Thread(Thread[Finalizer,8,system])--Local Exception Stack:
    Exception [EclipseLink-22107] (Eclipse Persistence Services - 1.0M1 (Build 20071105)): org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not remove local connection in local naming service under name rmi://localhost:8881/13598682 Internal Exception: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorUnbindingLocalConnection(RemoteCommandManagerException.java:137)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.removeLocalConnection(RMITransportManager.java:234)
    at org.eclipse.persistence.sessions.coordination.TransportManager.discardConnections(TransportManager.java:432)
    at org.eclipse.persistence.sessions.coordination.RemoteCommandManager.shutdown(RemoteCommandManager.java:179)
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.logout(DatabaseSessionImpl.java:718)
    at org.eclipse.persistence.sessions.server.ServerSession.logout(ServerSession.java:625)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.removeSessionFromGlobalSessionManager(EntityManagerSetupImpl.java:138)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.undeploy(EntityManagerSetupImpl.java:1286)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:83)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.finalize(EntityManagerFactoryImpl.java:137)
    at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
    at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
    at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:273)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.unbind(Unknown Source)
    at java.rmi.Naming.unbind(Naming.java:135)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.removeLocalConnection(RMITransportManager.java:226)
    ... 12 more
    Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readByte(DataInputStream.java:241)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215)
    ... 17 more

    I'm working on getting RMI based cache coordination functioning in my application using Eclipselink 1. I am using the 'INVALIDATE_CHANGED_OBJECTS' annotation and trying to get changed objects to propigate across 2 servers. I am using a function I got from the eclipselink list:
    public void customize(Session session) throws Exception {
    AbstractSession sessionImpl = (AbstractSession) session;
    RemoteCommandManager cm = new RemoteCommandManager(sessionImpl);
    cm.setShouldPropagateAsynchronously(true);
    cm.getDiscoveryManager().setAnnouncementDelay(10);
    cm.getTransportManager().setNamingServiceType(
    TransportManager.REGISTRY_NAMING_SERVICE);
    cm.setUrl("rmi://localhost:8881");
    cm.setServerPlatform(sessionImpl.getServerPlatform());
    sessionImpl.setCommandManager(cm);
    sessionImpl.setShouldPropagateChanges(true);
    cm.initialize();
    try {
    Thread.sleep(2000);
    } catch (Exception ignore) {
    and getting my factories as such:
    emf = Persistence.createEntityManagerFactory(s);
    new RMICacheCoordinationConfig().customize(JpaHelper.getServerSession(emf));
    em = emf.createEntityManager();
    After I make a few calls, I get several stack traces related to RMI I am fairly new to Toplink/Eclipselink and have not done much in the way of RMI.
    Here are the exceptions:
    [EPS Warning]: 2007.11.30 11:02:16.972--ServerSession(31985466)--Thread(Thread[Thread-8,5,main])--Local Exception Stack:
    Exception [EclipseLink-22102] (Eclipse Persistence Services - 1.0M1 (Build 20071105)): org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not post connection in local naming service under name rmi://localhost:8881/13598682 Internal Exception: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:84)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:157)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:110)
    at org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:194)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:273)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Naming.java:160)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:154)
    ... 3 more
    Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readByte(DataInputStream.java:241)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215)
    ... 8 more
    Exception in thread "Thread-8" Local Exception Stack:
    Exception [EclipseLink-22102] (Eclipse Persistence Services - 1.0M1 (Build 20071105)): org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not post connection in local naming service under name rmi://localhost:8881/13598682 Internal Exception: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorBindingConnection(RemoteCommandManagerException.java:84)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:157)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnection(RMITransportManager.java:110)
    at org.eclipse.persistence.sessions.coordination.DiscoveryManager.run(DiscoveryManager.java:194)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:273)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.rebind(Unknown Source)
    at java.rmi.Naming.rebind(Naming.java:160)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.createLocalConnectionInRegistry(RMITransportManager.java:154)
    ... 3 more
    Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readByte(DataInputStream.java:241)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215)
    ... 8 more
    [EPS Warning]: 2007.11.30 11:03:17.594--ServerSession(31985466)--Thread(Thread[Finalizer,8,system])--Local Exception Stack:
    Exception [EclipseLink-22107] (Eclipse Persistence Services - 1.0M1 (Build 20071105)): org.eclipse.persistence.exceptions.RemoteCommandManagerException
    Exception Description: Could not remove local connection in local naming service under name rmi://localhost:8881/13598682 Internal Exception: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at org.eclipse.persistence.exceptions.RemoteCommandManagerException.errorUnbindingLocalConnection(RemoteCommandManagerException.java:137)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.removeLocalConnection(RMITransportManager.java:234)
    at org.eclipse.persistence.sessions.coordination.TransportManager.discardConnections(TransportManager.java:432)
    at org.eclipse.persistence.sessions.coordination.RemoteCommandManager.shutdown(RemoteCommandManager.java:179)
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.logout(DatabaseSessionImpl.java:718)
    at org.eclipse.persistence.sessions.server.ServerSession.logout(ServerSession.java:625)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.removeSessionFromGlobalSessionManager(EntityManagerSetupImpl.java:138)
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.undeploy(EntityManagerSetupImpl.java:1286)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.close(EntityManagerFactoryImpl.java:83)
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.finalize(EntityManagerFactoryImpl.java:137)
    at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
    at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
    at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)
    Caused by: java.rmi.ConnectIOException: error during JRMP connection establishment; nested exception is:
    java.net.SocketTimeoutException: Read timed out
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:273)
    at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:171)
    at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:306)
    at sun.rmi.registry.RegistryImpl_Stub.unbind(Unknown Source)
    at java.rmi.Naming.unbind(Naming.java:135)
    at org.eclipse.persistence.sessions.coordination.rmi.RMITransportManager.removeLocalConnection(RMITransportManager.java:226)
    ... 12 more
    Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:235)
    at java.io.DataInputStream.readByte(DataInputStream.java:241)
    at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:215)
    ... 17 more

  • TopLink 11g and coherence integration

    TopLink 11g comes up with seamless integration with coherence. Integration options are discussed at http://www.oracle.com/technology/products/ias/toplink/tl_grid.html
    Can someone provide working examples of each configuration options:
    1. Oracle TopLink Grid Coherence Read
    2. Oracle TopLink Grid: Coherence Read/Write Configuration
    3. Oracle TopLink Grid: Using Coherence as a Shared L2 Cache
    Thanks in Advance.

    On the above listed page each of the configuration option listed links to a how-to showing the configuration in use.
    Doug

  • Memory leak when using JMS Cache Coordination

    We have two Weblogic Server 8.1 processes running Java 1.4.2 on Solaris using TOPLink 10.1.3 with JMS Cache Coordination. We observe that heap is filled with uncollectable instances of TOPLink-mapped classes. In our production system, under full load, this completely fills a 3.6 GB heap in 30 minutes, requiring a process restart. The problem goes away if we turn off cache coordination.
    It appears that these instances are UnitOfWork or some other kind of toplink-created clone. We have not yet been able to successfully analyse this problem with a heap profiler.
    Has anyone else experienced this this problem? Any suggestions for debugging?
    Thanks in advance.

    We do set the command manager to asychronous mode. (Our debug tracing confirms that the CommandPropagator method asynchronousPropagateCommand() is invoked, not synchronousPropagateCommand().) We started with asynchronous messaging and actually have never tried running in a synchronous mode.
    The Java bug I referenced in my last post (which I have confirmed with a stand-alone test case) indicates that, for Java 1.4.2 and earlier, is is never ok to not start() a Thread -- it will always produce a memory leak. So I am quite surprised than anyone on a pre-1.5 Java had ever had success with synchronous cache coordination messaging. Do you think it is possible all of the pre-release tests and existing customers installations of 10.1.3 cache coordination are using Java 1.5 ?!
    Our heap profiling indicates that the instances of CommandPropagator which are pinned (i.e., those not started) are allocated in the run() method of CommandPropagator itself. So it seems that the instance of CommandPropagator, after it is started, allocates another one in its run method. Looking at the bytecodes for the run() method (using javap -c) shows that in one branch of the code a second CommandPropagator is indeed allocated and then handed off to the launchContainerRunnable method of a ServerPlatform.
    Since these secondary CommandPropagators are the ones which are not started, we have looked into the WebLogic_8_1_Platform class and found that its implementation launchContainerRunnable (inherited from ServerPlatformBase) does a
    new Thread(runnable).start()where the argument runnable is the CommandPropagator.
    So the CommandPropagator itself is not started(), but is instead run an another Thread.
    We are experimenting with a custom ServerPlatform which overrides launchContainerRunnable:
        server.setServerPlatform(
            new WebLogic_8_1_Platform(server)
                public void launchContainerRunnable(Runnable runnable)
                   if (runnable instanceof Thread) ((Thread)runnable).start();
                   else super.launchContainerRunnable(runnable);
        );  This starts the argument Runnable directly if it is actually a Thread. Our early, small-scale tests indicate that this change eliminates the memory leak. We are testing now in a production-replicate environment under full load.
    But this feels like a hack. I have no idea what TOPLink behavior other than cache coordination flows through this method. Does anyone know what else this ServerPlatform method is used for? Is there a better way to do this? Are there any adverse conquences to our hack? Any suggestions would be appreciated.
    Thanks in advance.

  • Anything fixed in Oracle TopLink 11g Release 1 (11.1.1.1.0) ?

    Was there anything fixed in Oracle TopLink 11g Release 1 (11.1.1.1.0) ?
    I don't see anything in release notes ( http://www.oracle.com/technology/products/ias/toplink/doc/11110/relnotes/toplink-relnotes.html ) regarding fixes. Anybody know where I can get that info? We have run into a couple of issues in the previous 11g release (11.1.1.0.1) and want to know if those issues have been addressed in the new release.
    Thanks!

    The two major areas of work in 11gR1 (11.1.1.1.0) are enhancements to EclipseLink included with the its 1.1.1 release as well as enhancements around TopLink Grid (JPA-Coherence integration).
    The EclipseLink 1.1.1 fixes are documented here: http://wiki.eclipse.org/EclipseLink/Release/1.1.1
    Doug

Maybe you are looking for

  • Transfer music from one Ipod to another

    I have an I Pod Mini and now also a shuffle. I would like to transfer the songs from the mini to the shuffle on ITunes but it doesn't work. Does anyone know how I can do that ? Thanks

  • Performanc​e comparison between "if" and preconditi​on

    Hi, I was wondering was is the performance of precondtions compare to if-end statements. In other words, is it faster: if (A)    B else if (C)    D end or: B with Precondtion A D with Precondtion C Regards, Alexandre

  • Where can i purchase a Nomad Jukebox Zen 6

    Does anybody know where i can purchase a Nomad Jukebox Zen 60GB? I have tried **bleep** Smith, Tandy, JB HiFi, Retravision, all in the Ringwood area. Also tried JB HiFi in Knox and **bleep** Smith Powerhouse. The issue was not a lack of stock, but on

  • Thunderport display vs iMac

    Hi Apple Communities, It is nice to be back. I do not really have a problem today. I am buying a new Mac this summer so I have a question. I already have a 13" Macbook Pro late 2011 and Ipad 2. (Don't mention rumors to me) Can someone tell me what to

  • How to requce query.

    I want to increment time +1 , I have create one function it's working but is there any other way to reduce below code with same output. if possible i want only single query to increment time plush 1 without use to_date dunction. DECLARE V_TIME VARCHA