Using JMS from EJB

Hello,
In fact I have 2 questions.
1). Can I use JMS inside my EJBeans (I mean, obtain connections, create sessions, create producers/consumers, send/receive messages)? If I can not, please explain in a couple of words, why?
2). Can I use static variables inside entity beans?
Any suggestions will be highly appreciated.
Thank you,
densimf.

1. yah i think there is no issue in this
2. entity bean object represent a single row in a database. so doesnt understand the significance of having a static field in this. generally it is not used i feel.

Similar Messages

  • Do i have to use JMS with EJBS?

    Hi
    I want to use JMS as a messaging system (a queue) between my system and someone elses. I would like to have some java classes on Tomcat to do the job. But...whenever i hear about JMS i always hear it in relation to EJBs. Can i only use JMS with EJBS?
    If i can use JMS is there anything important i need to know about.
    Thanks in advance!
    San H.

    As far as I understand you are use JNDI and JMS is not bound with EJB's. These are java API's which are independent. Like JDBC you can use with Servlets, Applets, standalone applications, EJB, JMS etc etc.......
    In the same way you can use JNDI and JMS with diferent API. And the important feature of Java is that all java API interact with each other when these are independent. I would appricate comments of everyone......................Thanks

  • InvocationException when use JMS from RA

    Hi everybody,
    I encountered an interesting thing (I guess a bug).
    The JMS Reference Implementation on the J2EE 1.4 RI works if you use JMS API in your servlets or even in you standalone (not deployed) application.
    But when you use the same coding inside of your Resource Adapter, like
    try{
    Context jndiContext= new InitialContext();
    javax.jms.ConnectionFactory jmsConnectionFactory =
    (javax.jms.ConnectionFactory)jndiContext.lookup
    ("QueueConnectionFactory");
    javax.jms.Connection jmsConnection =
    jmsConnectionFactory.createConnection();
    javax.jms.Session jmsSession =
    jmsConnection.createSession(false,
    Session.AUTO_ACKNOWLEDGE);
    jmsConnection.close();
    }//try
    catch (java.lang.Exception ex){
    ex.printStackTrace();
    }//catch
    the Session cannot be created and following Exception is thrown
    com.sun.enterprise.InvocationException
         at com.sun.enterprise.util.InvocationManagerImpl.getCurrentInvocation(InvocationManagerImpl.java:188)
         at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:96)
         at com.sun.enterprise.resource.ConnectionManagerImpl.internalGetConnection(ConnectionManagerImpl.java:149)
         at com.sun.enterprise.resource.ConnectionManagerImpl.allocateConnection(ConnectionManagerImpl.java:58)
         at com.sun.jms.connector.ra.JMSConnectionAdapter.createSession(JMSConnectionAdapter.java:363)
    The only cause for this Exception I see, is that J2EE RI doesn't handles yet the case, when the JMS API calls are comming from the threads, which are issued specially for resource adapters. And since even the standalone application using default environment properties to creat an InitialContext can create a Session to a JMS queue, I don't see the reason, why the Resource Adapter shouldn't be able to do this. So I guess, that is a bug.
    But anyway, does somebody know a workaround for this case? Or just any ideas?
    Thanks,
    Eugen

    Any luck figuring this out? i'm getting the same exception when appserver 8 does an auto reload of my webapp. For some reason the jdbc connection pools are messed up at that point.

  • Transactional error when using JMS from stateless session bean

    I get a transaction exception when committing a bean method responsible for sending to a JMS topic. This happens only occasionally when two separate threads invoke this method "at the same time".
    The scenario:
    Two separate threads running two different instances of a stateless session bean (slsb A). This ejb (slsb A) has an injected slsb B which is communicating with the the topic.
    Both instances of slsb A are utilising the same instance of slsb B.
    The CMT transactions for the two threads start in slsb A from methods with transaction attribute "RequiresNew". All nested methods are to other slsbs and have the transaction attribute "Required". The method in slsb B which sends the message is closing both the session and the connection to the topic.
    I'm running Glassfish version 9.1_02 (build b04-fcs) and JMS implementation OpenMQ version 4.1.
    Stacktrace (glassfish log):
    [#|2008-09-09T13:00:40.515+0200|SEVERE|sun-appserver9.1|javax.resourceadapter.mqjmsra.outbound.connection|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;_RequestID=108e8418-71a6-4d8b-a94d-9e1edc885891;|commitTransaction (XA) on JMSService:jmsdirect failed for connectionId:5754505514139844608 and onePhase:false due to unkown JMSService server error.|#]
    [#|2008-09-09T13:00:40.515+0200|SEVERE|sun-appserver9.1|javax.enterprise.system.core.transaction|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe;commit;_RequestID=108e8418-71a6-4d8b-a94d-9e1edc885891;|JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit] operation.|#]
    [#|2008-09-09T13:00:40.531+0200|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;SubscriptionBean;|EJB5018: An exception was thrown during an ejb invocation on [SubscriptionBean]|#]
    [#|2008-09-09T13:00:40.531+0200|INFO|sun-appserver9.1|javax.enterprise.system.container.ejb|_ThreadID=18;_ThreadName=httpSSLWorkerThread-8080-1;|
    javax.ejb.EJBException: Unable to complete container-managed transaction.; nested exception is: javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit] operation. vmcid: 0x0 minor code: 0 completed: No
    javax.transaction.SystemException: org.omg.CORBA.INTERNAL: JTS5031: Exception [org.omg.CORBA.INTERNAL:   vmcid: 0x0  minor code: 0 completed: Maybe] on Resource [commit] operation. vmcid: 0x0 minor code: 0 completed: No
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:321)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1030)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:397)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3585)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
         at $Proxy130.requestNewSubscription(Unknown Source)
         at com.abeldrm.kms.core.services.subscription.SubscriptionWSBean.requestNewSubscription(SubscriptionWSBean.java:94)
         at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
         at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:189)
         at $Proxy129.requestNewSubscription(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.webservice.InvokerImpl.invoke(InvokerImpl.java:81)
         at com.sun.enterprise.webservice.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
         at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:329)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:226)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:155)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    IMQ broker log:
    [09/Sep/2008:13:00:40 CEST] ERROR CommitTransaction: commit failed. Connection ID: 5754505514139844608, Transaction ID: 0:
    com.sun.messaging.jmq.jmsserver.util.BrokerException: Unknown Transaction 0
         at com.sun.messaging.jmq.jmsserver.data.protocol.ProtocolImpl.commitTransaction(ProtocolImpl.java:630)
         at com.sun.messaging.jmq.jmsserver.service.imq.IMQDirectService.commitTransaction(IMQDirectService.java:1735)
         at com.sun.messaging.jms.ra.DirectXAResource.commit(DirectXAResource.java:201)
         at com.sun.jts.jtsxa.OTSResourceImpl.commit(OTSResourceImpl.java:114)
         at com.sun.jts.CosTransactions.RegisteredResources.distributeCommit(RegisteredResources.java:795)
         at com.sun.jts.CosTransactions.TopCoordinator.commit(TopCoordinator.java:2111)
         at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:403)
         at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:249)
         at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
         at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:309)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerImpl.commit(J2EETransactionManagerImpl.java:1030)
         at com.sun.enterprise.distributedtx.J2EETransactionManagerOpt.commit(J2EETransactionManagerOpt.java:397)
         at com.sun.ejb.containers.BaseContainer.completeNewTx(BaseContainer.java:3792)
         at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:3585)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1354)
         at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1316)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:205)
         at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:127)
         at $Proxy130.requestNewSubscription(Unknown Source)
         at com.abeldrm.kms.core.services.subscription.SubscriptionWSBean.requestNewSubscription(SubscriptionWSBean.java:94)
         at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1067)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:176)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2895)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3986)
         at com.sun.ejb.containers.WebServiceInvocationHandler.invoke(WebServiceInvocationHandler.java:189)
         at $Proxy129.requestNewSubscription(Unknown Source)
         at sun.reflect.GeneratedMethodAccessor126.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at com.sun.enterprise.webservice.InvokerImpl.invoke(InvokerImpl.java:81)
         at com.sun.enterprise.webservice.EjbInvokerImpl.invoke(EjbInvokerImpl.java:82)
         at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:146)
         at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:257)
         at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:93)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.enterprise.webservice.MonitoringPipe.process(MonitoringPipe.java:147)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:106)
         at com.sun.xml.ws.tx.service.TxServerPipe.process(TxServerPipe.java:329)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:218)
         at com.sun.enterprise.webservice.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:129)
         at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:115)
         at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:595)
         at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:554)
         at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:539)
         at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:436)
         at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:243)
         at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:444)
         at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:244)
         at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:135)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:113)
         at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:226)
         at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:155)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
         at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:114)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:87)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632)
         at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571)
         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080)
         at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568)
         at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
         at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
         at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265)
         at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
    Have anyone any idea why this should fail?
    Regards,
    Jon

    I would suggest opening a case with [email protected] FWIW, I recall seeing
              something like this in WLS 6.0. I believe it is fixed in WLS 6.1
              -- Rob
              Chris Dupuy wrote:
              > Btw, this occurs when I create an stateful session bean that ends up
              > throwing an exception and setRollbackOnly() is called. From that point
              > forward, my logs fill with this message.
              >
              > Chris
              >
              > "Chris Dupuy" <[email protected]> wrote in message
              > news:[email protected]..
              > > anyone know what this means, and what you can do about it?
              > >
              > >
              > > <Error> <ConnectionManager> <atossd03> <cbeyondServer> <ExecuteThread:
              > '14'
              > > for queue: 'd
              > > efault'> <> <> <000000> <Closing:
              > 'weblogic.rjvm.t3.T3JVMConnection@488831'
              > > because of: 'Server received a message over an uniniti
              > > alized connection: 'JVMMessage from: 'null' to:
              > >
              > '5825313123619479267S:10.6.6.40:[8000,8000,8001,8001,8000,8001,-1]:cbeyond:c
              > > beyond
              > > Server' cmd: 'CMD_REQUEST', QOS: '101', responseId: '2', invokableId: '1',
              > > flags: 'JVMIDs Not Sent, TX Context Not Sent', abbrev o
              > > ffset: '204'''>
              > >
              > >
              > >
              

  • Using SSL from EJB to non-WLS web server

    I have a need for an EJB that I am writing (for WLS 6.0) to communicate with
    another web server via SSL. The other web server requires that I pass a Client
    Certificate to authenticate myself. The remote web server is NOT a WebLogic
    server. I see no references in the Bea documentation to how to achieve this.
    I have tried to create a new URL with "https://...". I call openConnection() on
    the URL instance, and my EJB gets back an instance of
    weblogic.net.http.HttpsURLConnection. This class doesn't appear to be
    documented. Does anybody have any ideas how I can use this class to pass my
    Client key and Cert chain?
    When I tried to use the URLConnection class returned, it threw an exception when
    I tried to open a stream. The stack trace shows lots of classes that lead me to
    believe that support exists for this functionality. Here is a snippet from the
    stack dump:
    java.net.SocketException: Connection aborted by peer: socket write error
    at java.net.SocketOutputStream.socketWrite(Native Method)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
    at
    java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:72)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:130)
    at weblogic.security.SSL.SSLSocket.sendRecord(SSLSocket.java:964)
    at
    weblogic.security.SSL.SSLSocket.sendChangeCipherSpec(SSLSocket.java:926)
    at weblogic.security.SSL.SSLSocket.clientInit(SSLSocket.java:477)
    at weblogic.security.SSL.SSLSocket.initialize(SSLSocket.java:245)
    at weblogic.security.SSL.SSLSocket.<init>(SSLSocket.java:194)
    at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:45)
    at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:156)
    at weblogic.net.http.HttpClient.<init>(HttpClient.java:85)
    at weblogic.net.http.HttpsClient.<init>(HttpsClient.java:34)
    at weblogic.net.http.HttpClient.New(HttpClient.java:119)
    at
    weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:99)
    at
    weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:146)
    The only documentation I have found is under the 5.1 docs, referencing how you
    can use the JNDI Environment to establish a connection to a remote WLS JNDI
    tree. If URLs are a resource that can be pooled by WLS, I would like to take
    advantage of that functionality. Otherwise, I will have to fall back to the
    primitives and roll my own SSLSocket classes. I would expect that there is
    support buried somewhere in the product, it is just a question of figuring out
    how to use it.
    Thanks for any and all suggestions!
    Joe

    Joe,
         Apparently weblogic.net.http.HttpsURLConnection isn't documented although 6.0SP2 has a new example called examples/security/sslclient that shows how to use it.
    Paul
    On Fri, 27 Jul 2001 00:47:17 GMT, [email protected] (Joe Rider) wrote:
    I have a need for an EJB that I am writing (for WLS 6.0) to communicate with
    another web server via SSL. The other web server requires that I pass a Client
    Certificate to authenticate myself. The remote web server is NOT a WebLogic
    server. I see no references in the Bea documentation to how to achieve this.
    I have tried to create a new URL with "https://...". I call openConnection() on
    the URL instance, and my EJB gets back an instance of
    weblogic.net.http.HttpsURLConnection. This class doesn't appear to be
    documented. Does anybody have any ideas how I can use this class to pass my
    Client key and Cert chain?
    When I tried to use the URLConnection class returned, it threw an exception when
    I tried to open a stream. The stack trace shows lots of classes that lead me to
    believe that support exists for this functionality. Here is a snippet from the
    stack dump:
    java.net.SocketException: Connection aborted by peer: socket write error
    at java.net.SocketOutputStream.socketWrite(Native Method)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:83)
    at
    java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:72)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:130)
    at weblogic.security.SSL.SSLSocket.sendRecord(SSLSocket.java:964)
    at
    weblogic.security.SSL.SSLSocket.sendChangeCipherSpec(SSLSocket.java:926)
    at weblogic.security.SSL.SSLSocket.clientInit(SSLSocket.java:477)
    at weblogic.security.SSL.SSLSocket.initialize(SSLSocket.java:245)
    at weblogic.security.SSL.SSLSocket.<init>(SSLSocket.java:194)
    at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:45)
    at weblogic.net.http.HttpsClient.openServer(HttpsClient.java:156)
    at weblogic.net.http.HttpClient.<init>(HttpClient.java:85)
    at weblogic.net.http.HttpsClient.<init>(HttpsClient.java:34)
    at weblogic.net.http.HttpClient.New(HttpClient.java:119)
    at
    weblogic.net.http.HttpURLConnection.connect(HttpURLConnection.java:99)
    at
    weblogic.net.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:146)
    The only documentation I have found is under the 5.1 docs, referencing how you
    can use the JNDI Environment to establish a connection to a remote WLS JNDI
    tree. If URLs are a resource that can be pooled by WLS, I would like to take
    advantage of that functionality. Otherwise, I will have to fall back to the
    primitives and roll my own SSLSocket classes. I would expect that there is
    support buried somewhere in the product, it is just a question of figuring out
    how to use it.
    Thanks for any and all suggestions!
    Joe

  • How to send to Weblogic 9.1 JMS queue from EJB running in Glassfish?

    Hi.
    I hope this is the correct forum.
    I need to send a message to a jms queue on a remote weblogic 9.1 server. To this end I believe I will have to:
    1) Install one or more weblogic client libraries/jar files on my glassfish application server. The weblogic server expects communication in the "t3" protocol, which I believe tunnels iiop, jms etc. inside their own proprietary protocol
    2) Define the jms queue in my glassfish application server with a queue connection factory that creates the queue using classes from the weblogic jars?
    3) Otherwise code the EJB methods sending messages as I would code and send messages to any jms queue
    It's the first two steps that have me baffled. The more I dig in glassfish administrator's manual, the more confused I become.
    Anybody have any idea if/how this can be accomplished?
    Some reference to where I may find information as to how to accomplish this?
    Thank you,
    Jacob.

    Jacob,
    I suggest you try, either a GlassFish forum (http://forums.java.net/jive/forum.jspa?forumID=56), or perhaps the GenericJMSRA project https://genericjmsra.dev.java.net .This forum is primarily about the Sun JMS provider, Java MQ or Open MQ -- or the JMS Specification.
    -- Ed Bratt

  • Insert data into table from JSP page using Entity Beans(EJB 3.0)

    I want to insert data into a database table from JSP page using Entity Beans(EJB 3.0).
    1. I have a table 'FRIENDS', (in Oracle 10g database).
    2. It has two columns, 'NAME' and 'CITY'. Both have datatype strings(varchar2).
    3. Now from a JSP page, having two textfields, 'NAME' and 'CITY', I want to insert data into table 'FRIENDS'.
    4. In between JSP and database is a Entity Bean(EJB 3.0) and a stateless session bean.
    5. I am using JDev as editor.
    Please provide me code ASAP or link with similar example.
    Thank you.
    Anurag

    Hi,
    I am also trying that scenario. So u can
    Post the jsp form data to a Servlet which will act as a Controller.
    In the servlet invoke the business method.
    Similar kind of app is in www.roseindia.net
    Hope this would help u.
    Meanwhile if u get any optimal solution, pls post it.
    Thanks,
    Happy Java Coding.

  • Help me which JNDIFactory to use to access EJB from a java class of JAR

    I am confused in understanding the different JNDI factories
    RMIInitialContextFactory, ApplicationInitialContextFactory and ApplicationClientInitialContextFactory
    And the different namespaces like global, container local and component local.
    Especially is there any relationship between the JNDI factories and the namespaces?
    Or are they related to the deployment descriptors.
    Because in application specific deployment descriptors (orion-ejb-jar.xml), we just map the JNDI location with the object (or its reference from ejb-jar.xml). We dont specify it can be accessed from this factory or that.
    Shall we access an EJB from using any JNDI factory?
    Specifically, I am stuck with what Factory to use to access an EJB from a Java class in a library (jar). The JAR is packaged with the EAR which contains the EJB Jar that I am trying to access.
    THANK YOU

    Ed,
    As Robin said, I think you need code similar to this:
    Context c = new InitialContext();
    Object o = c.lookup("java:comp/env/Name");where Name is the name of your EJB as it appears in the "ejb-jar.xml"
    deployment descriptor XML file.
    Good Luck,
    Avi.

  • Error in Configuring Data Transfer From EMS to BAM using JMS

    Hi,
    Hi i am trying to import data from database into BAM dataobjects using JMS.
    I am able to get the data in JMS queue, but hav problem configuring BAM.
    After modifying the 2 xml files on BAM server and after making required changes on adminsrator on BAM console (Changing paths of jar files),
    I have to import some OBAM Artifacts. Refer
    - To import Oracle BAM artifacts needed for BAM server, perform the following steps,
    Copy $ORACLE_HOME/sysman/bam/emsys_all.xml into the BAM machine.
    Can anyone guide me to where can i get this file emsys_all.xml. I am not bale to locate it on my BAM server.

    Hi,
    The file that you referred to emsys_all.xml is for integrating BAM and Enterprise Manager
    More details on that can be found in
    Oracle® Enterprise Manager Management Connectors Integration Guide -
    http://www.oracle.com/technology/products/integration/bam/10.1.3/TechNotes/em_de.pdf
    However this is not required for EMS working, take a look at this document,
    http://www.oracle.com/technology/products/integration/bam/10.1.3/TechNotes/TechNote_BAM_Configurefor1013OC4J.pdf
    that gives the steps for EMS.
    Thanks
    Ranga

  • Call RFC from EJB using SSO

    Can anyone point me in the right direction on the best practice for calling an RFC using SSO from an EJB?
    When using the local interface for the EJB, the only solution I see is to pass the authenticated IUser instance from the portal component to the EJB business method through the method signature.
    I am guessing that there is a better way to get access to an authenticated user in the EJB container.

    Thanks for the reply.
    Actually I was able to solve the problem last night. To get SSO to work in my local EJBs I created an RFC destination in the destination service using the visual administrator. I then used the destination service at runtime to pull the system definition from the J2EE system definitions store instead of the portal system landscape definitions and my connection object was created as expected.
    Here is the code to create the connection in my EJB business method:
    //get the user
    IUser user = UMFactory.getUserFactory().getUserByUniqueName(this.myContext.getCallerPrincipal().getName());
    // get the destination service
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sapportals.portal.prt.registry.PortalRegistryFactory");
    InitialContext context = new InitialContext(env);
    IDestinationsService destinationsService =
         (IDestinationsService) context.lookup(IDestinationsService.SERVICE_JNDI_NAME);
    // define a destination filter to restrict to the RFC defined destinations
    DestinationFilter destinationFilter1 =
         new DestinationFilter(DestinationFilter.SOURCE_J2EE_DESTINATION_SERVICE, DestinationFilter.TYPE_SAP);
    // get a user specific connection
    IConnection connection = destinationsService.getConnection(user, "ECC", destinationFilter1);

  • [svn] 2692: Bug: BLZ-227 - When using JMS Destination, MessageClient and FlexClient not released from memory when the session times out .

    Revision: 2692
    Author: [email protected]
    Date: 2008-07-31 13:05:35 -0700 (Thu, 31 Jul 2008)
    Log Message:
    Bug: BLZ-227 - When using JMS Destination, MessageClient and FlexClient not released from memory when the session times out.
    QA: Yes
    Doc: No
    Checkintests: Pass
    Details: Fixed a memory leak with JMS adapter. Also a minor tweak to QA build file to not to start the server if the server is already running.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-227
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/services/messaging/adapters/J MSAdapter.java
    blazeds/branches/3.0.x/qa/build.xml

    Revision: 2692
    Author: [email protected]
    Date: 2008-07-31 13:05:35 -0700 (Thu, 31 Jul 2008)
    Log Message:
    Bug: BLZ-227 - When using JMS Destination, MessageClient and FlexClient not released from memory when the session times out.
    QA: Yes
    Doc: No
    Checkintests: Pass
    Details: Fixed a memory leak with JMS adapter. Also a minor tweak to QA build file to not to start the server if the server is already running.
    Ticket Links:
    http://bugs.adobe.com/jira/browse/BLZ-227
    Modified Paths:
    blazeds/branches/3.0.x/modules/core/src/java/flex/messaging/services/messaging/adapters/J MSAdapter.java
    blazeds/branches/3.0.x/qa/build.xml

  • How to pull data from EJB and present them using Swing ?

    Hi all,
    I've written stateful session bean which connect to Oracle database, and now I must write stand alone client application using Swing.
    The client app must present the data and then let users add,delete and edit data and it must be flexible enough to iterate through the records.
    The swing components can be JTextField,JTable etc.
    How to pull the data from EJB and present them to users with the most efficient network trip ?
    Thanks in advance
    Setya

    Thanks,
    Since the whole app originally was client-server app and I want to make it more scalable, so I decide to separate business logic in the EJB but I also want to keep the performance and the userfriendliness of the original user interface, and I want to continue using Swing as the original user interface does.
    I've read about using Rowset and I need some opinions about this from you guys who already have some experience with it.
    Any suggestions would be greatly appreciated.
    Thanks
    Setya

  • Invalidate EJB cache using JMS ibm.websphere.ejbpersistence.InvalidateTCF

    Hi,
    I work with WSAD 5.1, and I need to invalidate manually some EJB entities in cache. After looking for information in websphere documentation, it seems that I have to use JMS to do this.
    I create an Object PMCacheInvalidationRequest, and It seems that i have to publish it.
    I found in websphere documentation some indications, based on a topicConnectionFactoryJNDIName named "com.ibm.websphere.ejbpersistence.InvalidateTCF".
    Is someone has already work on it? Is someone can help me to understand if I have to parameter something in my server?
    Thanks.

    Please,
    nobody has used this API PMCacheInvalidationRequest with JMS? Or is my message not comprehensible?
    Thanks

  • OAS and using JDBC-drivers from EJB

    Hi.
    I have a problem with accessing the database from EJB-components
    deployed to OAS 4.0.8. The database is 8.1.5-version. I'm trying
    to use a connection exactly like it is documented in OAS-EJB-
    documents, the connection string looks like this:
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:jts8:@ora8i");
    And this is the error that above sentence it generates:
    "Sub Protocol must be specified in connection URL".
    The DAD(ora8i) is created in OAS.
    Now, I don't even know if this uses JDBC/OCI or thin since the
    documented connection-string doesn't contain that information. I
    quess it must use OCI-drivers, at least I should use them and
    they should be installed with OAS.
    So:
    * I should use only jts-enabled JDBC-drivers when developing EJB-
    components, is this right?
    * How can I connect to the database (from OAS 4.0.8 to Oracle
    8i), the string please?
    Thanks,
    [email protected]
    null

    Hi Suresh,
    There is lot of Documentation available on this, check these links
    http://help.sap.com/saphelp_nwce10/helpdata/en/45/07d2eeea3e0485e10000000a155369/frameset.htm
    http://help.sap.com/saphelp_nwce10/helpdata/en/45/08546ff5200486e10000000a155369/frameset.htm
    Venkat.

  • Need help: Using JMS to callback a client.

    Hi everyone,
    I'm having a very frustrating problem. I'm just started to use JMS to overcome callback
    problem with EJBs. I simply want my EJB to send something (pub/sub) to my client so it
    can update some display. I first instantiate my Client and TopicConnection etc. etc. then
    create the EJB, invoke it and the EJB sends some TextMessage back. However, the TextMessage
    never seems to arrive at my Client. The TextListener never seems to deliver.
    Here's the snippet:
    EJB:
    private void createPublisher() {
    try {
    Context ctx = new InitialContext();
    System.out.println("Server looking up JMS Service");
    TopicConnectionFactory conFtry = (TopicConnectionFactory) ctx.lookup("java:com
    p/env/jms/MobiDTopicConnectionFactory");
    topic = (Topic) ctx.lookup("java:comp/env/jms/TopicName");
    con = conFtry.createTopicConnection();
    session = con.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
    publisher = session.createPublisher(topic);
    TextMessage mesg = session.createTextMessage();
    System.out.println("Server is sending message, see anything?");
    mesg.setText("This is from publisher");
    publisher.publish(mesg);
    // Exception catching stuff snipped.
    public void ejbCreate() { createPublisher(); }
    Client:
    public void createSubscriber() {
    try {
    Context ctx = new InitialContext();
    TopicConnectionFactory conFtry = (TopicConnectionFactory) ctx.lookup("java:com
    p/env/jms/MobiDTopicConnectionFactory");
    Topic topic = (Topic) ctx.lookup("java:comp/env/jms/TopicName");
    con = conFtry.createTopicConnection();
    session = con.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
    subscriber = session.createSubscriber(topic);
    subscriber.setMessageListener(new TextListener());
    con.start();
    System.out.println("Connection started");
    // Exception stuff snipped.
    public static void main(String args[]) {
    try {
    ConverterClient cc = new ConverterClient();
    cc.createSubscriber();
    System.out.println("Subscriber is ready");
    Context initial = new InitialContext();
    System.out.println("Looking up the bean...");
    Object ref = initial.lookup("java:comp/env/ejb/SimpleConverter");
    System.out.println("Getting the home interface");
    ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(ref,
    ConverterHome.class);
    Converter conv = home.create();
    double amount = conv.dollarToYen(100.00);
    InputStreamReader inputStreamReader = new InputStreamReader(System.in);
    char answer = '\0';
    while (!((answer == 'q') || (answer == 'Q'))) {
    try {
    answer = (char) inputStreamReader.read();
    } catch (IOException e) {
    System.out.println("I/O exception: "
    + e.toString());
    Can anyone spot what's wrong with the code? I've been trying to get this to work for the
    past two days but to no avail. Please help...
    Thank you in advance.
    -vincent

    Hi, thanks for all your reply.
    The TextListener is the one downloaded from this website in the
    tutorial but I used it in different program. Here's the TextListener:
    public void onMessage(Message message) {
    System.out.println("Receiving message in onMessage()");
    TextMessage msg = null;
    try {
    if (message instanceof TextMessage) {
    msg = (TextMessage) message;
    System.out.println("Reading message: " +
    msg.getText());
    } else {
    System.out.println("Message of wrong type: " +
    message.getClass().getName());
    } catch (JMSException e) {
    System.out.println("JMSException in onMessage(): " +
    e.toString());
    } catch (Throwable t) {
    System.out.println("Exception in onMessage():" +
    t.getMessage());
    Strangely, this does not work as it never print the message. Can't see what's
    wrong from a glance though and I'm not getting any error message whatsoever.
    However, I tried my own listener:
    static class MyListener implements MessageListener {
    public MyListener() { }
    public void onMessage(Message msg) {
    try {
    System.out.println("Message received: " + ((TextMessage) msg).getText())
    catch(JMSException ex) { ex.printStackTrace(); }
    And this works...I just don't get it. MyListener is a static because I used it in my main().
    Anyone can give any comment?
    thanks,
    -vincent

Maybe you are looking for

  • My 3rd gen ipod touch is stuck on the "connect to itunes" screen

    I have a passcode on it so I'm pretty much just stuck there. I've tried restoring it, but the processes that were given in the links I found didn't work. I've also noticed that when I'm turning my ipod off and it get to the power down screen, the tou

  • Approval preview process controlled workflow

    Hi, We are using process controlled workflow (N step) for the shopping cart workflows. While sending the reminder mails to the approvers, we would like to include the approval preview in the email. In application controlled workflows we could use FM

  • Problem with Trinidad skinning

    Hi, I'm a new Trinidad user and I'm unable to get the skinning to work. Maybe I did something wrong or forgot something. Trinidad tags are displayed in the webpage (but not skinned). I installed the skin "beach" from the demo, adding a block that wou

  • Reading a memory card in iphoto

    I was able to export to a memory card in a card reader that opened in the finder window when I plugged it in, and can view the card images on the computer. But my camera does not recognize that there are any images on the card. Moreover, Iphoto recog

  • IFS-68610 with Invalid Addresses when Adding member to a workspace

    Hi everybody, I created an OID username and OCS username with a different email using the OESUCR command line(ex: account: flastname and email: [email protected]). The new user can send and receive email to and from outside and also is part of a list