Friends, I have an entity bean which calls a stateless session bean's method from within its ejbCreate method. I need to ensure the highest level of transaction isolation (serializable) for the database read performed in the session bean method. Because a connection's isolation level must be set outside of any transaction, I assume I am forced to use bean managed transaction for this session bean. When I attempt to run this (using jdk1.2.2 from sun, linux RedHat6.2, Orion1.2.9, Postgres7 database) I get a java.sql.SQLException (stack trace below). I am setting the isolation level right after I first get a connection from the data-source, and I do no updates and start no transactions in my session bean before setting this level. When I use Sybase instead of Postgres, I get a bit further, but end up getting a different exception (Stack trace follows below). From some debug statements, I've managed to deduce that when I first get the UserTransaction (in the business method of the Session Bean), it has Status.STATUS_ACTIVE. It stays this way through beginning a transaction, performing updates and selects from Sybase, and committing the transaction. However, after commit() is called, the status is Status.STATUS_NO_TRANSACTION. When this method completes, and the EntityBean's ejbCreate method resumes, I get an OrionRemoteException (that's the second stacktrace given). It seems to me that when the Session Bean's method begins, the client transaction has NOT been suspended. This seems to be in violation of the spec. What gives? Has anyone ever managed to use bean managed transactions using Orion and these databases? ----------------Using Posgres7 -------------------------- javax.transaction.TransactionRolledbackException: java.sql.SQLException: ERROR: SET TRANSACTION ISO LATION LEVEL must be called before any query at com.evermind.server.ejb.EJBUtils.getUserException(JAX) at MessageNumberManager_StatelessSessionBeanWrapper15.nextMessageNumber(MessageNumberManager _StatelessSessionBeanWrapper15.java:49) at com.dbusa.ejb.message.MessageBean.ejbCreate(MessageBean.java:84) at MessageHome_EntityHomeWrapper55.create(MessageHome_EntityHomeWrapper55.java:647) at com.dbusa.util.message.MessageCreator.createMessage(MessageCreator.java:83) at com.dbusa.util.message.MessageCreator.createMessage(MessageCreator.java:57) at java.lang.reflect.Method.invoke(Native Method) at org.webmacro.util.PropertyOperator.invoke(PropertyOperator.java:788) at org.webmacro.util.DirectAccessor.get(PropertyOperator.java:1012) at org.webmacro.util.PropertyOperator.getProperty(PropertyOperator.java:535) at org.webmacro.util.PropertyOperator.getProperty(PropertyOperator.java:89) at org.webmacro.Context.getLocal(Context.java:401) at org.webmacro.Context.getProperty(Context.java:339) at org.webmacro.engine.PropertyVariable.getValue(PropertyVariable.java:28) at org.webmacro.engine.Variable.evaluate(Variable.java:128) at org.webmacro.engine.Variable.write(Variable.java:156) at org.webmacro.engine.Block.write(Block.java:56) at org.webmacro.engine.IfDirective.write(IfDirective.java:161) at org.webmacro.engine.Block.write(Block.java:56) at org.webmacro.engine.IfDirective.write(IfDirective.java:154) at org.webmacro.engine.Block.write(Block.java:56) at org.webmacro.engine.WMTemplate.write(WMTemplate.java:251) at org.apache.turbine.services.webmacro.TurbineWebMacroService.handleRequest(TurbineWebMacro Service.java:237) at org.apache.turbine.services.webmacro.TurbineWebMacroService.handleRequest(TurbineWebMacro Service.java:208) at org.apache.turbine.services.webmacro.TurbineWebMacro.handleRequest(TurbineWebMacro.java:1 07) at org.apache.turbine.modules.screens.WebMacroSiteScreen.buildWMTemplate(WebMacroSiteScreen. java:192) at org.apache.turbine.modules.screens.WebMacroSiteScreen.buildTemplate(WebMacroSiteScreen.ja va:145) at org.apache.turbine.modules.screens.TemplateScreen.doBuild(TemplateScreen.java:124) at org.apache.turbine.modules.Screen.build(Screen.java:100) at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:126) at org.apache.turbine.modules.layouts.WebMacroSiteLayout.doBuild(WebMacroSiteLayout.java:106 ) at org.apache.turbine.modules.Layout.build(Layout.java:93) at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:120) at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:171) at org.apache.turbine.modules.Page.build(Page.java:92) at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:119) at org.apache.turbine.Turbine.doGet(Turbine.java:366) ---------------Using Sybase ------------------ com.evermind.server.rmi.OrionRemoteException: User interference with CMP transaction (illegal termin ation of transaction) at MessageHome_EntityHomeWrapper55.create(MessageHome_EntityHomeWrapper55.java:834) at com.dbusa.util.message.MessageCreator.createMessage(MessageCreator.java:83) at com.dbusa.util.message.MessageCreator.createMessage(MessageCreator.java:57) at java.lang.reflect.Method.invoke(Native Method) at org.webmacro.util.PropertyOperator.invoke(PropertyOperator.java:788) at org.webmacro.util.DirectAccessor.get(PropertyOperator.java:1012) at org.webmacro.util.PropertyOperator.getProperty(PropertyOperator.java:535) at org.webmacro.util.PropertyOperator.getProperty(PropertyOperator.java:89) at org.webmacro.Context.getLocal(Context.java:401) at org.webmacro.Context.getProperty(Context.java:339) at org.webmacro.engine.PropertyVariable.getValue(PropertyVariable.java:28) at org.webmacro.engine.Variable.evaluate(Variable.java:128) at org.webmacro.engine.Variable.write(Variable.java:156) at org.webmacro.engine.Block.write(Block.java:56) at org.webmacro.engine.IfDirective.write(IfDirective.java:161) at org.webmacro.engine.Block.write(Block.java:56) at org.webmacro.engine.IfDirective.write(IfDirective.java:154) at org.webmacro.engine.Block.write(Block.java:56) at org.webmacro.engine.WMTemplate.write(WMTemplate.java:251) at org.apache.turbine.services.webmacro.TurbineWebMacroService.handleRequest(TurbineWebMacro Service.java:237) at org.apache.turbine.services.webmacro.TurbineWebMacroService.handleRequest(TurbineWebMacro Service.java:208) at org.apache.turbine.services.webmacro.TurbineWebMacro.handleRequest(TurbineWebMacro.java:1 07) at org.apache.turbine.modules.screens.WebMacroSiteScreen.buildWMTemplate(WebMacroSiteScreen. java:192) at org.apache.turbine.modules.screens.WebMacroSiteScreen.buildTemplate(WebMacroSiteScreen.ja va:145) at org.apache.turbine.modules.screens.TemplateScreen.doBuild(TemplateScreen.java:124) at org.apache.turbine.modules.Screen.build(Screen.java:100) at org.apache.turbine.modules.ScreenLoader.eval(ScreenLoader.java:126) at org.apache.turbine.modules.layouts.WebMacroSiteLayout.doBuild(WebMacroSiteLayout.java:106 ) at org.apache.turbine.modules.Layout.build(Layout.java:93) at org.apache.turbine.modules.LayoutLoader.exec(LayoutLoader.java:120) at org.apache.turbine.modules.pages.DefaultPage.doBuild(DefaultPage.java:171) at org.apache.turbine.modules.Page.build(Page.java:92) at org.apache.turbine.modules.PageLoader.exec(PageLoader.java:119) at org.apache.turbine.Turbine.doGet(Turbine.java:366) at javax.servlet.http.HttpServlet.service(HttpServlet.java) -- Daniel G. Koulomzin Digital Media On Demand 244 Brighton Ave. 3rd Floor Allston MA 02134