Thanks Jeff, I was able to get a stand alone Tomcat working. But for a speedy development embedded server make so much sense. Further, our team is used to running Tomcat/Jetty inline (via Maven). For some reason that configuration is not able to load the UserTransaction. Will try to switch off JTA but I am afraid when we actually deploy, we might have some unforeseen issues.
-Shailesh --- In [email protected], "Jeff Vroom" <[EMAIL PROTECTED]> wrote: > > When you use Data Management Services to update objects on the server > side, and your destination has use-transactions=true, FDS will create a > JTA transaction before it calls your assembler methods. The problem you > are running into is that this code is failing... it is a pretty standard > set of features for a J2EE server though servlet containers don't > usually support JTA "out of the box". You might be able to workaround > this problem by setting use-transactions=false on your destinations > though you'll still need JTA libraries to be available to satisfy > linkage. > > > > Here's a JSP file which you can use to test the transaction support in > your servlet container: > > > > <%@ page import="javax.transaction.UserTransaction" %> > > <%@ page import="javax.naming.InitialContext" %> > > <%@ page import="javax.naming.Context" %> > > <body> > > > > start<br> > > <% > > try > > { > > Context ctx = new InitialContext(); > > > > String userTransactionJndi = "java:comp/UserTransaction"; > > String userSpecified = System.getProperty("UserTxJndiName"); > > if (userSpecified != null) > > { > > userTransactionJndi = userSpecified; > > } > > UserTransaction userTransaction = (UserTransaction) > ctx.lookup(userTransactionJndi); > > if (userTransaction != null) > > { > > userTransaction.begin(); > > out.println("begin ok!<br>"); > > userTransaction.commit(); > > out.println("commit ok!<br>"); > > } > > else > > { > > out.println("returned null"); > > } > > } > > catch (Exception ne) > > { > > out.println(ne.toString()); > > } > > %> > > > > done > > > > </body> > > > > > > ________________________________ > > From: [email protected] [mailto:[EMAIL PROTECTED] On > Behalf Of Shailesh Mangal > Sent: Sunday, May 27, 2007 2:56 PM > To: [email protected] > Subject: [flexcoders] Re: Jetty with JOTM causes ClassCastException in > FDS > > > > I decided to try tomcat, only to get following (version 5.5.15) > > [Flex] cause=javax.naming.NamingException: Cannot create resource > instance type=class javax.naming.NamingException > javax.naming.NamingException: Cannot create resource instance > at > org.apache.naming.factory.TransactionFactory.getObjectInstance(Transacti > onFactory.java:98) > at > javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304) > at org.apache.naming.NamingContext.lookup(NamingContext.java:792) > at org.apache.naming.NamingContext.lookup(NamingContext.java:139) > at org.apache.naming.NamingContext.lookup(NamingContext.java:780) > at org.apache.naming.NamingContext.lookup(NamingContext.java:152) > at > org.apache.naming.SelectorContext.lookup(SelectorContext.java:136) > at javax.naming.InitialContext.lookup(InitialContext.java:351) > at > flex.data.DataServiceTransaction.doBegin(DataServiceTransaction.java:653 > ) > at > flex.data.DataServiceTransaction.begin(DataServiceTransaction.java:624) > at > flex.data.DataService.serviceTransactedMessage(DataService.java:474) > at flex.data.DataService.serviceMessage(DataService.java:241) > at > flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:54 > 8) > at > flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin > t.java:302) > at > flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac > tRTMPServer.java:682) > at > flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo > nnection.java:665) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .runTask(ThreadPoolExecutor.java:643) > at > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .run(ThreadPoolExecutor.java:668) > > --- In [email protected] <mailto:flexcoders%40yahoogroups.com> > , "Shailesh Mangal" > <shailesh.mangal@> wrote: > > > > Adding to this, I found that I can read the data (using Fill()) but as > > soon I use createItem(), FDS blows up (giving ClassCastException) > > > > -Shailesh > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> , "Shailesh Mangal" > > <shailesh.mangal@> wrote: > > > > > > Hi All, > > > > > > After struggling for a quite a while, I was able to configure Jetty > > > with JOTM (to a point where it starts cleanly). > > > > > > Now I am getting a ClassCast Exception in JNDILookup. Wondering if > > > anyone has come across following error (FDS output in Debug mode). > > > Same issue is discussed on in decent depth, > > > http://tech.groups.yahoo.com/group/flexcoders/message/51486 > <http://tech.groups.yahoo.com/group/flexcoders/message/51486> but no > > > concrete solution suggested. > > > > > > > > > [Flex] Error handling rtmp message: flex.data.DataServiceException: > > > Unable to access UserTransaction in DataService. > > > incomingMessage: Flex Message (flex.data.messages.DataMessage) > > > operation = transacted > > > id = null > > > clientId = D9CE4977-870F-8C20-2C39-C6D4DA7BB599 > > > correlationId = > > > destination = loginService > > > messageId = 466A87F6-D404-76D9-361C-C7CE219FDB80 > > > timestamp = 1180173215095 > > > timeToLive = 0 > > > body = > > > [ > > > Flex Message (flex.data.messages.DataMessage) > > > operation = create_and_sequence > > > id = ASObject(10255870){id=1234} > > > clientId = 03D24138-E112-748E-2BED-C7CE1F822C65 > > > correlationId = 466A87F6-D404-76D9-361C-C7CE219FDB80 > > > destination = loginService > > > messageId = 6C4AEB83-B4A2-73F6-5541-C7CE219CF4BB > > > timestamp = 0 > > > timeToLive = 0 > > > body = [EMAIL PROTECTED] > > > ] > > > hdr(DSEndpoint) = my-rtmp > > > errorReply: Flex Message (flex.messaging.messages.ErrorMessage) > > > clientId = null > > > correlationId = 466A87F6-D404-76D9-361C-C7CE219FDB80 > > > destination = loginService > > > messageId = D9CE49A3-790B-1933-0AD6-36F523BDEB89 > > > timestamp = 1180173215113 > > > timeToLive = 0 > > > body = null > > > code = Server.Processing > > > message = Unable to access UserTransaction in DataService. > > > details = null > > > rootCause = java.lang.ClassCastException: > > org.objectweb.jotm.Current > > > body = null > > > extendedData = null > > > [Flex] cause=java.lang.ClassCastException: > org.objectweb.jotm.Current > > > type=class java.lang.ClassCastException > > > java.lang.ClassCastException: org.objectweb.jotm.Current > > > at > > > > > > flex.data.DataServiceTransaction.doBegin(DataServiceTransaction.java:653 > ) > > > at > > > > flex.data.DataServiceTransaction.begin(DataServiceTransaction.java:624) > > > at > > > flex.data.DataService.serviceTransactedMessage(DataService.java:474) > > > at flex.data.DataService.serviceMessage(DataService.java:241) > > > at > > > > > > flex.messaging.MessageBroker.routeMessageToService(MessageBroker.java:54 > 8) > > > at > > > > > > flex.messaging.endpoints.AbstractEndpoint.serviceMessage(AbstractEndpoin > t.java:302) > > > at > > > > > > flex.messaging.endpoints.rtmp.AbstractRTMPServer.dispatchMessage(Abstrac > tRTMPServer.java:682) > > > at > > > > > > flex.messaging.endpoints.rtmp.NIORTMPConnection$RTMPReader.run(NIORTMPCo > nnection.java:665) > > > at > > > > > > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .runTask(ThreadPoolExecutor.java:643) > > > at > > > > > > edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker > .run(ThreadPoolExecutor.java:668) > > > at java.lang.Thread.run(Thread.java:613) > > > > > >

