PDA

View Full Version : Nested Transactions and propogation_required


kbaum
Aug 19th, 2004, 04:43 PM
I have a message driven bean which calls a save method on a DAO class. I have the DAO save method declaratively wrapped in a Propogation_required transaction. The transaction manager managing this transaction is the HibernateTransactionManager. The message driven bean calling the DAO is within a jboss container managed transaction. When the MDB calls the DAO I get an exception. It seems as if there is a problem having a JDBC transaction nested within a container managed transaction. The behaviour i am looking for is that the DAO simply participates in the Message Driven Bean transaction. I'll paste some of the exception below. Thanks.

Karl

Caused by: java.sql.SQLException: You cannot commit during a managed transaction!
at org.jboss.resource.adapter.jdbc.BaseWrapperManaged Connection.jdbcCommit()V(BaseWrapperManagedConnect ion.java:
525)
at org.jboss.resource.adapter.jdbc.WrappedConnection. commit()V(WrappedConnection.java:464)
at net.sf.hibernate.transaction.JDBCTransaction.commi t()V(JDBCTransaction.java:63)
at org.springframework.orm.hibernate.HibernateTransac tionManager.doCommit(Lorg.springframework.transact ion.suppo
rt.DefaultTransactionStatus;)V(HibernateTransactio nManager.java:386)
at org.springframework.transaction.support.AbstractPl atformTransactionManager.commit(Lorg.springframewo rk.transa
ction.TransactionStatus;)V(AbstractPlatformTransac tionManager.java:376)
at org.springframework.transaction.interceptor.Transa ctionAspectSupport.doCommitTransactionAfterReturni ng(Lorg.s
pringframework.transaction.interceptor.Transaction AspectSupport$TransactionInfo;)V(TransactionAspect Support.java:278)
at org.springframework.transaction.interceptor.Transa ctionInterceptor.invoke(Lorg.aopalliance.intercept .MethodIn
vocation;)Ljava.lang.Object;(TransactionIntercepto r.java:67)
at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed()Ljava.lang.Object;(ReflectiveM ethodInvo
cation.java:140)

Juergen Hoeller
Aug 19th, 2004, 05:18 PM
Do not combine a local transaction strategy like HibernateTransactionManager with JTA or EJB CMT. Rather, use Spring's JtaTransactionManager here, which will automatically participate in existing J2EE container transactions, providing transaction-scoped Hibernate Sessions for them just like HibernateTransactionManager.

Alternatively, do not use Spring transaction management at all, but just rely on EJB CMT. As long as you specify an appropriate TransactionManagerLookup in Hibernate's configuration, Spring's HibernateTemplate will auto-detect the J2EE container transaction and provide transaction-scoped Hibernate Sessions for it, just like it does for Spring-managed transactions.

Juergen

kbaum
Aug 20th, 2004, 12:40 AM
I have tried to configure my hibernate session factory to use Jboss J2EE transactions but have been unsuccessful thus far. My problem is that I am using Lazy loading via the OpenSessionInView filter, but when I change to J2EE transactions, SessionFactoryUtils does not seem to be able to find my open session. My spring xml context configuration is pasted below:


<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"><value>java:/ClassesDataSource</value></property>
</bean>

<bean id="jtaTransactionManager" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName"><value>java:/TransactionManager</value></property>
</bean>

<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFact oryBean">
<property name="dataSource"><ref bean="dataSource"/></property>


<property name="mappingResources">
<ref bean="configBeanMappings"/>
</property>


<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.transaction.manager_lookup_class">
net.sf.hibernate.transaction.JBossTransactionManag erLookup
</prop>
</props>
</property>

<property name="jtaTransactionManager">
<ref bean="jtaTransactionManager"/>
</property>
</bean>




I think I have traced the issue down to the method below, but I am not quite sure what the proper behavior is when using a J2EE Transaction Manager.


private static Session getSession(SessionFactory sessionFactory, Interceptor entityInterceptor,
SQLExceptionTranslator jdbcExceptionTranslator,
boolean allowSynchronization, boolean allowCreate)


Thanks for your help!

Karl

shaby775
Aug 20th, 2004, 02:10 AM
Hello,
Juergen can u explain the alternative option. We are using SLSB for business layer and (spring+hibernate (sometimes spring + jdbc)) for DAO layer and using EJB CMT for transaction management.
The configuration i have is the following is it right?? Please tell me asap. And if not can u please paste the way it should be (We are using our own datasource not from spring).

What i want to ask is should i use jta abstraction of spring or specify Hibernate transaction manager which delagtes to jta?

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<!--Application context definition for EMR Relase 1.0 maintained by Shoaib on Hibernate.-->
<beans>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyP laceholderConfigurer">
<property name="location"><value>jdbc.properties</value></property>
</bean>

<bean id="dataSource" class="org.springframework.jdbc.oracle.OracleOCIConnectio nPoolDataSource">
<property name="driverType"><value>${jdbc.driverType}</value></property>
<property name="tnsName"><value>${jdbc.tnsName}</value></property>
<property name="username"><value>${jdbc.username}</value></property>
<property name="password"><value>${jdbc.password}</value></property>
<property name="connectionStrategy"><ref local="connectionStrategy" /></property>
</bean>

<bean id="connectionStrategy" class="org.springframework.jdbc.oracle.OracleOCIConnectio nThreadLocalStrategy" />

<!-- Hibernate SessionFactory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFact oryBean">
<property name="dataSource"><ref local="dataSource" /></property>
<!-- Mapping Resources for Hibernate Session Factory (Specify the hbm.xml to be used here) -->
<property name="mappingResources">
<list>
<value>com/sequelsys/common/model/scheduling/DailyRosterModel.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.transaction.factory_class">net.sf.hibernate.transaction.JTATransactionFactory</prop>
<prop key="hibernate.transaction.manager_lookup_class">net.sf.hibernate.transaction.JBossTransactionManag erLookup</prop>
<prop key="hibernate.jta.UserTransaction">java:comp/UserTransaction</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
</props>
</property>
</bean>
<!-- Transaction manager for a single Hibernate SessionFactory (alternative to JTA) -->
<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransac tionManager">
<property name="sessionFactory"><ref local="sessionFactory" /></property>
</bean>
<!-- Refereces of DAOs to be used by Session beans-->
<bean id="practiceLocationDAO" class="com.sequelsys.server.common.dao.PracticeLocationDA O" autowire="byName" />
</beans>

Regards,
Shoaib Akhtar

shaby775
Aug 20th, 2004, 03:22 AM
Hello,
I want to add something when i replace the upper files lines with this one

<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">net.sf.hibernate.dialect.Oracle9Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.transaction.jta.JtaTransaction Manager"/>


i get following exceptions ( running jboss 3.2.3 , Oracle 9i, hibernate 2.1.6, Spring 1.1 rc 2)

Caused by: org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'transactionManager' defined in class path resource [applicationContext-hibernate.xml]: Initialization of bean failed; nested exception is org.springframework.transaction.CannotCreateTransa ctionException: JTA UserTransaction is not available at JNDI location [java:comp/UserTransaction]; nested exception is javax.naming.NameNotFoundException: UserTransaction not bound


Please help me asap because after reading yuor earlier post i think that we are using no transaction.

kbaum
Aug 20th, 2004, 10:07 AM
To add to my previous response, I have been stepping through the getSession (http://monkeymachine.co.uk/spring/xref/org/springframework/orm/hibernate/SessionFactoryUtils.html#267) method of SessionFactoryUtils. It seems to me that when using a J2EE transaction manager, the open session is only found when a transaction status is active. Otherwise, a new session will always be opened and closed and you will get lazy initialization exceptions, which I am currently experiencing.

Let me know if I am misunderstanding this method. Thanks again for your help!

Karl

Colin Sampaleanu
Aug 20th, 2004, 10:11 AM
Shoaib,

I have personally used Spring with JBoss 3.2.3 and it works fine with JTATransactionManager. You may want to verify with the JNDI view (port of JBoss's JMX console) that the UserTransaction object is where it's supposed to be (java:comp/UserTransaction). That's the standard location, and it should be there, but something weird may be going on in your JBoss instance.

Colin

Colin Sampaleanu
Aug 20th, 2004, 10:55 AM
Karl,

Using Spring's JTATransactionManager class vs. HibernateTransactionManager class should not really affect Session handling if the OpenSessionInViewFilter is in use with the older singleSession=true mode. If the filter is used like this, then the filter is creating the session and binding it, and any contained code lower down like HibernateTemplate, using the _same_ SessionFactory set of course, will simply use that session. If this is your config, I would verify via the logs that the filter is actually kicking in and creating the session, and than any Hibernate usage via the template is actually set to the same SessionFactory, so that it can realize a related Session is already bound.

Now if you are using the filter in singleSession=false mode, then there should still not be any issues with switching from HibernateTranactionManager to JTATransactionManager, but you should realize that in this mode, with HibernateTransactionManager, that spring tm will automatically create and bind a session as soon as execution flows through it. JTATransactionManager on the other hand knows nothing about Hibernate sessioons, so the Session would only be created and bound on the first usage of a HibernateTempalte (or SessionFactoryUtils.getSession), with the allowCreate flag set to true (the default). The net effect is the same, but the time of creation of the session is different. If you want to get the exact same effect when using JTATrransactionManager as when using HibernateTransactionManager, you need to add in HibernateInterceptor into the transaction proxy, which will ensure that the session is also created when the JTA transaction is joined or created.

Note also that your usage of Hibernate's TransactionManagerLookup is not needed generally, as Spring is hadling tx synchronization. In some JTA environments however you will get warnings on operations after a tx is complete, as the tx manage ris very restrictive and will complain even on a close call, and adding in the lookup will resolve this.

Regards,

kbaum
Aug 20th, 2004, 11:32 AM
Hi Colin. Thanks for the response. To clarify I am using single session mode for my Open Session Filter. I actually stepped through the code through the eclipse remote debugger and saw that it was indeed hitting the following logic in OpenSessionInViewFilter:

if (isSingleSession()) {
logger.debug("Opening single Hibernate session in OpenSessionInViewFilter");
session = getSession(sessionFactory);
TransactionSynchronizationManager.bindResource(ses sionFactory, new SessionHolder(session));
}


I think the problem is occuring in this else block in SessionFactoryUtils:

else {
TransactionManager jtaTm = getJtaTransactionManager(sessionFactory, sessionHolder.getAnySession());
if (jtaTm != null) {
try {
int jtaStatus = jtaTm.getStatus();
if (jtaStatus == Status.STATUS_ACTIVE || jtaStatus == Status.STATUS_MARKED_ROLLBACK) {
Session session = sessionHolder.getSession(jtaTm.getTransaction());
if (session != null) {
return session;
}
}
} catch (SystemException ex) {
throw new DataAccessResourceFailureException("Could not check JTA transaction", ex);
}
} else {
return sessionHolder.getSession();
}
}


When I step through the code, it finds the jta Transaction Manager and checks the jts status. The jta status comes back inactive and the open session is not returned. After exiting out of the else block, the rest of the method seems to be concerned with creating a new session which will eventually cause my application to throw LazyInitialization exceptions as this session will be closed before rendering the view. It seems to me like the session will only be returned if a Transaction is active.

I believe I have traced it down to the specific problem area but I am not sure how to fix this without modifying the spring code. Thanks again for your help.

Karl

Colin Sampaleanu
Aug 20th, 2004, 12:02 PM
Actually, you are going down a false path. As far as I can tell, you are not in a transaction. Normally what would happen then is that you would get a session created out fo transaction (if allowCreate=true) or else not get any session at all (with an exception), if allowCreate=false. But because you have set the JTATransactionManager, Spring instead tries to use that as a means to associate a session with just the JTA transaction. This is meant for CMT situations, with no Spring transaction transaction manager involved at all, where spring can bind the Hibernate session to the CMT transaction.

Check your transaction proxy definition. I can almost guarantee that you are not intercepting properly. The log should show if you are actually entering into a transaction, higher up...

Regards,

kbaum
Aug 20th, 2004, 02:31 PM
Hi Colin. Judging by the stack trace, I am actually executing the hibernate template call from within a transaction.


net.sf.hibernate.LazyInitializationException: Failed to lazily initialize a collection - no session or session was closed
at net.sf.hibernate.collection.PersistentCollection.i nitialize(Z)V(PersistentCollection.java:209)
at net.sf.hibernate.collection.PersistentCollection.r ead()V(PersistentCollection.java:71)
at net.sf.hibernate.collection.Set.iterator()Ljava.ut il.Iterator;(Set.java:130)
at com.classesusa.dao.hibernate.HibernatePromotionDAO .findValidPromotions(Ljava.lang.Integer;)[Lcom.cla ssesusa.beans.Promotion;(HibernatePromotionDA
O.java:152)
at com.classesusa.dao.hibernate.HibernatePromotionDAO $$FastClassByCGLIB$$4d2e5c85.invoke(ILjava.lang.Ob ject;[Ljava.lang.Object;)Ljava.lang.Object;(<
generated>:0)
at net.sf.cglib.proxy.MethodProxy.invoke(Ljava.lang.O bject;[Ljava.lang.Object;)Ljava.lang.Object;(Metho dProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$M ethodInvocationImpl.invokeJoinpoint()Ljava.lang.Ob ject;(Cglib2AopProxy.java:913)
at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed()Ljava.lang.Object;(ReflectiveM ethodInvocation.java:120)
at org.springframework.transaction.interceptor.Transa ctionInterceptor.invoke(Lorg.aopalliance.intercept .MethodInvocation;)Ljava.lang.Object;(Transac
tionInterceptor.java:57)
at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed()Ljava.lang.Object;(ReflectiveM ethodInvocation.java:140)
at org.springframework.aop.framework.Cglib2AopProxy$D ynamicAdvisedInterceptor.intercept(Ljava.lang.Obje ct;Ljava.lang.reflect.Method;[Ljava.lang.Obje
ct;Lnet.sf.cglib.proxy.MethodProxy;)Ljava.lang.Obj ect;(Cglib2AopProxy.java:628)
at com.classesusa.dao.hibernate.HibernatePromotionDAO $$EnhancerByCGLIB$$f094b6a9.findValidPromotions(Lj ava.lang.Integer;)[Lcom.classesusa.beans.Prom
otion;(<generated>:0)


This confuses me even more as from my previous email I stated that the TransactionManager was reporting a status of inactive in the SessionUtil class. In the code, if the TransactionManager reported back that it was active, the open session would be returned.

Is it possible that the Jboss Transaction is not configured properly?

Thanks again.

Karl

Colin Sampaleanu
Aug 20th, 2004, 02:47 PM
Look at your log. It should show the transaction being created, session being created and bound, etc. It's the best place to get an idea as to what is going on.

kbaum
Aug 20th, 2004, 05:03 PM
Hi Colin. You are probably growing somewhat tired of me by now. I really appreciate all of your help on this. Anyway.. I set my logs to debug and I am still confused. You can see in the logs that the Session bound to the thread is found, but then below that you can see a new session being created. When I stepped through with the debugger that's exactly what I was seeing. I'm hoping you might notice something I am overlooking. I'll paste in the logs below. Thanks again!


2004-08-20 16:55:54,845 DEBUG [org.springframework.orm.hibernate.support.OpenSes sionInViewFilter] Using session factory 'sessionFactory' for OpenSessionInViewFilter
2004-08-20 16:55:54,847 DEBUG [org.springframework.beans.factory.support.Default ListableBeanFactory] Returning cached instance of singleton bean 'sessionFactory'
2004-08-20 16:55:54,847 DEBUG [org.springframework.beans.factory.support.Default ListableBeanFactory] Bean with name 'sessionFactory' is a factory bean
2004-08-20 16:55:54,847 DEBUG [org.springframework.orm.hibernate.support.OpenSes sionInViewFilter] Opening single Hibernate session in OpenSessionInViewFilter
2004-08-20 16:55:54,847 DEBUG [org.springframework.orm.hibernate.SessionFactoryU tils] Opening Hibernate session
2004-08-20 16:55:54,848 DEBUG [org.springframework.transaction.support.Transacti onSynchronizationManager] Bound value [org.springframework.orm.hibernate.SessionHolder@4 09261c] for key [net.sf.hibernate.impl.SessionFactoryImpl@44cbe 01] to thread [http-0.0.0.0-8080-Processor23]
2004-08-20 16:55:54,848 DEBUG [org.springframework.web.servlet.DispatcherServlet ] DispatcherServlet with name 'classesusa-spring' received request for [/classesusa/index.html]
2004-08-20 16:55:54,848 DEBUG [org.springframework.web.servlet.DispatcherServlet ] Testing handler map [org.springframework.web.servlet.handler.SimpleUrl HandlerMapping@4e42ed7] in DispatcherServlet with name 'classesusa-spring'
2004-08-20 16:55:54,848 DEBUG [org.springframework.web.servlet.handler.SimpleUrl HandlerMapping] Looking up handler for [/index.html]
2004-08-20 16:55:54,849 DEBUG [org.springframework.web.servlet.DispatcherServlet ] Testing handler adapter [org.springframework.web.servlet.mvc.SimpleControl lerHandlerAdapter@4f9a24c]
2004-08-20 16:55:54,849 DEBUG [org.springframework.transaction.interceptor.Trans actionInterceptor] Don't need to create transaction for method 'findSiteType' in class [com.classesusa.dao.hibernate.HibernateSiteTypeDAO ]: this method isn't transactional
2004-08-20 16:55:54,849 DEBUG [org.springframework.transaction.support.Transacti onSynchronizationManager] Retrieved value [org.springframework.orm.hibernate.SessionHolder@4 09261c] for key [net.sf.hibernate.impl.SessionFactoryImpl@44cbe 01] bound to thread [http-0.0.0.0-8080-Processor23]
2004-08-20 16:55:54,849 DEBUG [org.springframework.orm.hibernate.SessionFactoryU tils] Opening Hibernate session
2004-08-20 16:55:54,852 DEBUG [org.springframework.transaction.support.Transacti onSynchronizationManager] Retrieved value [org.springframework.orm.hibernate.SessionHolder@4 09261c] for key [net.sf.hibernate.impl.SessionFactoryImpl@44cbe 01] bound to thread [http-0.0.0.0-8080-Processor23]
2004-08-20 16:55:54,852 DEBUG [org.springframework.orm.hibernate.SessionFactoryU tils] Closing Hibernate session
2004-08-20 16:55:54,852 DEBUG [org.springframework.transaction.interceptor.Trans actionInterceptor] Don't need to create transaction for method 'findValidPromotions' in class [com.classesusa.dao.hibernate.HibernatePromotionDA O]: this method isn't transactional
2004-08-20 16:55:54,853 DEBUG [org.springframework.transaction.support.Transacti onSynchronizationManager] Retrieved value [org.springframework.orm.hibernate.SessionHolder@4 09261c] for key [net.sf.hibernate.impl.SessionFactoryImpl@44cbe 01] bound to thread [http-0.0.0.0-8080-Processor23]
2004-08-20 16:55:54,853 DEBUG [org.springframework.orm.hibernate.SessionFactoryU tils] Opening Hibernate session
2004-08-20 16:55:54,861 DEBUG [org.springframework.transaction.support.Transacti onSynchronizationManager] Removed value [org.springframework.orm.hibernate.SessionHolder@4 0a955b] for key [net.sf.hibernate.impl.SessionFactoryImpl@48327 44] from thread [org.jboss.jms.asf.StdServerSessionPool$DefaultThr eadFactory@4200954 Thread Pool Worker-0]
2004-08-20 16:55:54,861 DEBUG [org.springframework.orm.hibernate.SessionFactoryU tils] Closing Hibernate session
2004-08-20 16:55:56,071 DEBUG [org.springframework.transaction.support.Transacti onSynchronizationManager] Retrieved value [org.springframework.orm.hibernate.SessionHolder@4 09261c] for key [net.sf.hibernate.impl.SessionFactoryImpl@44cbe 01] bound to thread [http-0.0.0.0-8080-Processor23]
2004-08-20 16:55:56,071 DEBUG [org.springframework.orm.hibernate.SessionFactoryU tils] Closing Hibernate session
at org.springframework.aop.framework.Cglib2AopProxy$M ethodInvocationImpl.invokeJoinpoint()Ljava.lang.Ob ject;(Cglib2AopProxy.java:913)
at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed()Ljava.lang.Object;(ReflectiveM ethodInvocation.java:120)
at org.springframework.transaction.interceptor.Transa ctionInterceptor.invoke(Lorg.aopalliance.intercept .MethodInvocation;)Ljava.lang.Object;(TransactionI nterceptor.java:57)
at org.springframework.aop.framework.ReflectiveMethod Invocation.proceed()Ljava.lang.Object;(ReflectiveM ethodInvocation.java:140)

shaby775
Aug 21st, 2004, 10:13 AM
Hi Colin,
Nice to have your response but it is not working for me. I have again downloaded JBoss ( a fresh copy 3.2.3) and reinstalled (unzipped it) but the same exception is occurring again. I am facing this problem for quite a long time now and want to solve this asap so kindly help me. I have told earlier but for clarity i am telling u the version i amm using.
We are using EJB (canot change that plz no comments) . Most time we are using SLSB with CMT and for data access we are using Hibernate+ spring and sometimes spring jdbc abstarction layer. In SLSB constructor we get the instane of DAO from Spring application context and use that in other methods.So we are using jta for transaction management (CMT).Earler on one post somebody told me that use HibernateTransactionManager and points hibernate to use jta transaction.But i feel i must be able to use direct spring jta abstarction .Spring 1.1. rc 2, Hibernate 2.1.6, JBoss 3.2.3....Colin kindly help me..plz.I have tried to find User transaction from jmx view but could not find i am posting my jmx console view for your advice.

JMX Agent View
shaby
ObjectName Filter (e.g. "jboss:*", "*:service=invoker,*"):


JMImplementation
name=Default,service=LoaderRepository
type=MBeanRegistry
type=MBeanServerDelegate
jboss
name=PropertyEditorManager,type=Service
name=SystemProperties,type=Service
readonly=true,service=invoker,target=Naming,type=h ttp
service=ClientUserTransaction
service=JNDIView
service=Mail
service=Naming
service=TransactionManager
service=UUIDKeyGeneratorFactory
service=WebService
service=XidFactory
service=invoker,target=Naming,type=http
service=invoker,type=http
service=invoker,type=httpHA
service=invoker,type=jrmp
service=invoker,type=local
service=invoker,type=pooled
service=proxyFactory,target=ClientUserTransaction
service=proxyFactory,target=ClientUserTransactionF actory
jboss.admin
service=PluginManager
jboss.cache
service=InvalidationManager
jboss.deployment
flavor=URL,type=DeploymentScanner
jboss.ejb
service=EJBDeployer
jboss.j2ee
jndiName=AdminController,plugin=pool,service=EJB
jndiName=AdminController,service=EJB
jndiName=ApplicationFacade,plugin=cache,service=EJ B
jndiName=ApplicationFacade,plugin=pool,service=EJB
jndiName=ApplicationFacade,service=EJB
jndiName=BlockSlotSession,plugin=pool,service=EJB
jndiName=BlockSlotSession,service=EJB
jndiName=ChangeAppointmentStatusSession,plugin=poo l,service=EJB
jndiName=ChangeAppointmentStatusSession,service=EJ B
jndiName=CommonController,plugin=pool,service=EJB
jndiName=CommonController,service=EJB
jndiName=CommonSchedulingSession,plugin=pool,servi ce=EJB
jndiName=CommonSchedulingSession,service=EJB
jndiName=DailyRoster,plugin=pool,service=EJB
jndiName=DailyRoster,service=EJB
jndiName=DailyRosterSession,plugin=pool,service=EJ B
jndiName=DailyRosterSession,service=EJB
jndiName=DailySecheduleManagmentSession,plugin=poo l,service=EJB
jndiName=DailySecheduleManagmentSession,service=EJ B
jndiName=DateRangeScheduleManagementSession,plugin =pool,service=EJB
jndiName=DateRangeScheduleManagementSession,servic e=EJB
jndiName=EmployerSession,plugin=pool,service=EJB
jndiName=EmployerSession,service=EJB
jndiName=GroupSession,plugin=pool,service=EJB
jndiName=GroupSession,service=EJB
jndiName=HolidayScheduleSession,plugin=pool,servic e=EJB
jndiName=HolidayScheduleSession,service=EJB
jndiName=InsuranceSession,plugin=pool,service=EJB
jndiName=InsuranceSession,service=EJB
jndiName=LawyerSession,plugin=pool,service=EJB
jndiName=LawyerSession,service=EJB
jndiName=ManagedCareSession,plugin=pool,service=EJ B
jndiName=ManagedCareSession,service=EJB
jndiName=MonthlyScheduleJDBCSession,plugin=pool,se rvice=EJB
jndiName=MonthlyScheduleJDBCSession,service=EJB
jndiName=MonthlySecheduleManagmentSession,plugin=p ool,service=EJB
jndiName=MonthlySecheduleManagmentSession,service= EJB
jndiName=MultipleProviderResourceSession,plugin=po ol,service=EJB
jndiName=MultipleProviderResourceSession,service=E JB
jndiName=PatientAppointmentSession,plugin=pool,ser vice=EJB
jndiName=PatientAppointmentSession,service=EJB
jndiName=PatientClassSession,plugin=pool,service=E JB
jndiName=PatientClassSession,service=EJB
jndiName=PatientController,plugin=pool,service=EJB
jndiName=PatientController,service=EJB
jndiName=PatientHistorySession,plugin=pool,service =EJB
jndiName=PatientHistorySession,service=EJB
jndiName=PatientInsPartySession,plugin=pool,servic e=EJB
jndiName=PatientInsPartySession,service=EJB
jndiName=PatientLedgerSession,plugin=pool,service= EJB
jndiName=PatientLedgerSession,service=EJB
jndiName=PatientMessageSession,plugin=pool,service =EJB
jndiName=PatientMessageSession,service=EJB
jndiName=PatientRecallSession,plugin=pool,service= EJB
jndiName=PatientRecallSession,service=EJB
jndiName=PatientResponsiblePartySession,plugin=poo l,service=EJB
jndiName=PatientResponsiblePartySession,service=EJ B
jndiName=PatientSearchController,plugin=cache,serv ice=EJB
jndiName=PatientSearchController,plugin=pool,servi ce=EJB
jndiName=PatientSearchController,service=EJB
jndiName=PatientSession,plugin=pool,service=EJB
jndiName=PatientSession,service=EJB
jndiName=PlanAddressSession,plugin=pool,service=EJ B
jndiName=PlanAddressSession,service=EJB
jndiName=PlanCategorySession,plugin=pool,service=E JB
jndiName=PlanCategorySession,service=EJB
jndiName=PlanSession,plugin=pool,service=EJB
jndiName=PlanSession,service=EJB
jndiName=PracticeSession,plugin=pool,service=EJB
jndiName=PracticeSession,service=EJB
jndiName=ProfilesController,plugin=pool,service=EJ B
jndiName=ProfilesController,service=EJB
jndiName=ProviderScheduleSession,plugin=pool,servi ce=EJB
jndiName=ProviderScheduleSession,service=EJB
jndiName=ProviderSession,plugin=pool,service=EJB
jndiName=ProviderSession,service=EJB
jndiName=ReasonSession,plugin=pool,service=EJB
jndiName=ReasonSession,service=EJB
jndiName=RecallDefinationSession,plugin=pool,servi ce=EJB
jndiName=RecallDefinationSession,service=EJB
jndiName=ReferralManagementSession,plugin=pool,ser vice=EJB
jndiName=ReferralManagementSession,service=EJB
jndiName=ReferringProviderSession,plugin=pool,serv ice=EJB
jndiName=ReferringProviderSession,service=EJB
jndiName=Resource,plugin=pool,service=EJB
jndiName=Resource,service=EJB
jndiName=ResourceProfileSession,plugin=pool,servic e=EJB
jndiName=ResourceProfileSession,service=EJB
jndiName=ResourceScheduleSession,plugin=pool,servi ce=EJB
jndiName=ResourceScheduleSession,service=EJB
jndiName=ResourceSession,plugin=pool,service=EJB
jndiName=ResourceSession,service=EJB
jndiName=ScheduleGroupSession,plugin=pool,service= EJB
jndiName=ScheduleGroupSession,service=EJB
jndiName=SchedulingController,plugin=pool,service= EJB
jndiName=SchedulingController,service=EJB
jndiName=SchoolSession,plugin=pool,service=EJB
jndiName=SchoolSession,service=EJB
jndiName=SpecialitySession,plugin=pool,service=EJB
jndiName=SpecialitySession,service=EJB
jndiName=UnBlockSlotSession,plugin=pool,service=EJ B
jndiName=UnBlockSlotSession,service=EJB
jndiName=WeeklySecheduleManagmentSession,plugin=po ol,service=EJB
jndiName=WeeklySecheduleManagmentSession,service=E JB
module=EMREJBModule.jar,service=EjbModule
service=ClientDeployer
service=EARDeployer
jboss.jca
name=DefaultDS,service=LocalTxCM
name=DefaultDS,service=ManagedConnectionFactory
name=DefaultDS,service=ManagedConnectionPool
name=JBoss JDBC XATransaction ResourceAdapter,service=RARDeployment
name=JBoss LocalTransaction JDBC Wrapper,service=RARDeployment
name=JMS Adapter,service=RARDeployment
name=JmsXA,service=ManagedConnectionFactory
name=JmsXA,service=ManagedConnectionPool
name=JmsXA,service=TxCM
service=CachedConnectionManager
service=ConnectionFactoryDeployer
service=RARDeployer
jboss.jdbc
service=SQLExceptionProcessor
jboss.jmx
alias=jmx/rmi/RMIAdaptor
name=Invoker,protocol=jrmp,service=proxyFactory,ty pe=adaptor
name=Invoker,type=adaptor
name=SnmpAgent,service=snmp,type=adaptor
name=SnmpAgent,service=timer,type=heartbeat
name=SnmpAgent,service=trapd,type=logger
jboss.management.local
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatefulSessionBean,name=A pplicationFacade
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatefulSessionBean,name=P atientSearchController
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= AdminController
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= BlockSlotSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ChangeAppointmentStatusSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= CommonController
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= CommonSchedulingSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= DailyRoster
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= DailyRosterSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= DailySecheduleManagmentSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= DateRangeScheduleManagementSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= EmployerSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= GroupSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= HolidayScheduleSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= InsuranceSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= LawyerSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ManagedCareSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= MonthlyScheduleJDBCSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= MonthlySecheduleManagmentSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= MultipleProviderResourceSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientAppointmentSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientClassSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientController
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientHistorySession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientInsPartySession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientLedgerSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientMessageSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientRecallSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientResponsiblePartySession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PatientSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PlanAddressSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PlanCategorySession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PlanSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= PracticeSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ProfilesController
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ProviderScheduleSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ProviderSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ReasonSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= RecallDefinationSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ReferralManagementSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ReferringProviderSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= Resource
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ResourceProfileSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ResourceScheduleSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ResourceSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= ScheduleGroupSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= SchedulingController
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= SchoolSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= SpecialitySession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= UnBlockSlotSession
EJBModule=EMREJBModule.jar,J2EEApplication=null,J2 EEServer=Local,j2eeType=StatelessSessionBean,name= WeeklySecheduleManagmentSession
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=EJBInvokerHAServlet
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=EJBInvokerServlet
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=JMXInvokerServlet
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=JNDIFactory
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=ReadOnlyJNDIFactory
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=default
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=invoker
J2EEApplication=http-invoker.sar,J2EEServer=Local,WebModule=invoker.war ,j2eeType=Servlet,name=jsp
J2EEApplication=http-invoker.sar,J2EEServer=Local,j2eeType=WebModule,na me=invoker.war
J2EEApplication=jbossmq-httpil.sar,J2EEServer=Local,WebModule=jbossmq-httpil.war,j2eeType=Servlet,name=HTTPServerILServl et
J2EEApplication=jbossmq-httpil.sar,J2EEServer=Local,WebModule=jbossmq-httpil.war,j2eeType=Servlet,name=default
J2EEApplication=jbossmq-httpil.sar,J2EEServer=Local,WebModule=jbossmq-httpil.war,j2eeType=Servlet,name=invoker
J2EEApplication=jbossmq-httpil.sar,J2EEServer=Local,WebModule=jbossmq-httpil.war,j2eeType=Servlet,name=jsp
J2EEApplication=jbossmq-httpil.sar,J2EEServer=Local,j2eeType=WebModule,nam e=jbossmq-httpil.war
J2EEApplication=null,J2EEServer=Local,ResourceAdap terModule=jboss-local-jdbc.rar,j2eeType=ResourceAdapter,name=JBoss LocalTransaction JDBC Wrapper
J2EEApplication=null,J2EEServer=Local,ResourceAdap terModule=jboss-xa-jdbc.rar,j2eeType=ResourceAdapter,name=JBoss JDBC XATransaction ResourceAdapter
J2EEApplication=null,J2EEServer=Local,ResourceAdap terModule=jms-ra.rar,j2eeType=ResourceAdapter,name=JMS Adapter
J2EEApplication=null,J2EEServer=Local,ServiceModul e=cache-invalidation-service.xml,j2eeType=MBean,name=jboss.cache:servic e=InvalidationManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=client-deployer-service.xml,j2eeType=MBean,name=jboss.j2ee:service =ClientDeployer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=console-mgr.sar,j2eeType=MBean,name=jboss.admin:service=Pl uginManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=hsqldb-jdbc2-service.xml,j2eeType=MBean,name=jboss.mq:service=D estinationManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=hsqldb-jdbc2-service.xml,j2eeType=MBean,name=jboss.mq:service=M essageCache
J2EEApplication=null,J2EEServer=Local,ServiceModul e=hsqldb-jdbc2-service.xml,j2eeType=MBean,name=jboss.mq:service=P ersistenceManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=http-invoker.sar,j2eeType=MBean,name=jboss:service=invo ker,type=http
J2EEApplication=null,J2EEServer=Local,ServiceModul e=http-invoker.sar,j2eeType=MBean,name=jboss:service=invo ker,type=http,target=Naming
J2EEApplication=null,J2EEServer=Local,ServiceModul e=http-invoker.sar,j2eeType=MBean,name=jboss:service=invo ker,type=http,target=Naming,readonly=true
J2EEApplication=null,J2EEServer=Local,ServiceModul e=http-invoker.sar,j2eeType=MBean,name=jboss:service=invo ker,type=httpHA
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-jca.sar,j2eeType=MBean,name=jboss.jca:service=Conn ectionFactoryDeployer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-jca.sar,j2eeType=MBean,name=jboss.jca:service=RARD eployer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=Clie ntUserTransaction
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=JNDI View
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=Nami ng
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=Tran sactionManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=WebS ervice
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=XidF actory
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=invo ker,type=jrmp
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=invo ker,type=local
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=invo ker,type=pooled
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=prox yFactory,target=ClientUserTransaction
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss:service=prox yFactory,target=ClientUserTransactionFactory
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.deployment:t ype=DeploymentScanner,flavor=URL
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.ejb:service= EJBDeployer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.j2ee:service =EARDeployer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.management.l ocal:j2eeType=J2EEDomain,name=Manager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.rmi:type=RMI ClassLoader
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.scripts:serv ice=BSHDeployer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.security:ser vice=JaasSecurityManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.security:ser vice=SecurityConfig
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.security:ser vice=XMLLoginConfig
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jboss-service.xml,j2eeType=MBean,name=jboss.system:type= Log4jService,service=Logging
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=A
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=B
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=C
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=D
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=ex
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=testQueue
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Topic,name=securedTopic
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Topic,name=testDurableTopic
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-destinations-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Topic,name=testTopic
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-httpil.sar,j2eeType=MBean,name=jboss.mq:service=In vocationLayer,type=HTTP
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvoker
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-service.xml,j2eeType=MBean,name=jboss.mq:service=S ecurityManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-service.xml,j2eeType=MBean,name=jboss.mq:service=S tateManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-service.xml,j2eeType=MBean,name=jboss.mq:service=T racingInterceptor
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossmq-service.xml,j2eeType=MBean,name=jboss.mq.destinati on:service=Queue,name=DLQ
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jbossweb-tomcat41.sar,j2eeType=MBean,name=jboss.web:service =WebServer
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jmx-invoker-adaptor-server.sar,j2eeType=MBean,name=jboss.jmx:alias=jmx/rmi/RMIAdaptor
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jmx-invoker-adaptor-server.sar,j2eeType=MBean,name=jboss.jmx:type=adap tor,name=Invoker
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jmx-invoker-adaptor-server.sar,j2eeType=MBean,name=jboss.jmx:type=adap tor,name=Invoker,protocol=jrmp,service=proxyFactor y
J2EEApplication=null,J2EEServer=Local,ServiceModul e=jvm-il-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=JVM
J2EEApplication=null,J2EEServer=Local,ServiceModul e=mail-service.xml,j2eeType=MBean,name=jboss:service=Mail
J2EEApplication=null,J2EEServer=Local,ServiceModul e=oil-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=OIL
J2EEApplication=null,J2EEServer=Local,ServiceModul e=oil2-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=OIL2
J2EEApplication=null,J2EEServer=Local,ServiceModul e=properties-service.xml,j2eeType=MBean,name=jboss:type=Service ,name=PropertyEditorManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=properties-service.xml,j2eeType=MBean,name=jboss:type=Service ,name=SystemProperties
J2EEApplication=null,J2EEServer=Local,ServiceModul e=rmi-il-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=RMI
J2EEApplication=null,J2EEServer=Local,ServiceModul e=snmp-adaptor.sar,j2eeType=MBean,name=jboss.jmx:name=Snm pAgent,service=snmp,type=adaptor
J2EEApplication=null,J2EEServer=Local,ServiceModul e=snmp-adaptor.sar,j2eeType=MBean,name=jboss.jmx:name=Snm pAgent,service=timer,type=heartbeat
J2EEApplication=null,J2EEServer=Local,ServiceModul e=snmp-adaptor.sar,j2eeType=MBean,name=jboss.jmx:name=Snm pAgent,service=trapd,type=logger
J2EEApplication=null,J2EEServer=Local,ServiceModul e=sqlexception-service.xml,j2eeType=MBean,name=jboss.jdbc:service =SQLExceptionProcessor
J2EEApplication=null,J2EEServer=Local,ServiceModul e=transaction-service.xml,j2eeType=MBean,name=jboss.jca:service= CachedConnectionManager
J2EEApplication=null,J2EEServer=Local,ServiceModul e=uil2-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=UIL
J2EEApplication=null,J2EEServer=Local,ServiceModul e=uil2-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=UIL2
J2EEApplication=null,J2EEServer=Local,ServiceModul e=uil2-service.xml,j2eeType=MBean,name=jboss.mq:service=I nvocationLayer,type=UILXA
J2EEApplication=null,J2EEServer=Local,ServiceModul e=uuid-key-generator.sar,j2eeType=MBean,name=jboss:service=UU IDKeyGeneratorFactory
J2EEApplication=null,J2EEServer=Local,WebModule=EM RWebModule.war,j2eeType=Servlet,name=action
J2EEApplication=null,J2EEServer=Local,WebModule=EM RWebModule.war,j2eeType=Servlet,name=default
J2EEApplication=null,J2EEServer=Local,WebModule=EM RWebModule.war,j2eeType=Servlet,name=invoker
J2EEApplication=null,J2EEServer=Local,WebModule=EM RWebModule.war,j2eeType=Servlet,name=jsp
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=ClusterView
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=ClusteredConsole Servlet
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=DisplayMBeans
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=DisplayOpResult
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=HtmlAdaptor
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=InspectMBean
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=default
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=invoker
J2EEApplication=null,J2EEServer=Local,WebModule=jm x-console.war,j2eeType=Servlet,name=jsp
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=HTTP Invocation
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=J2EEFolder
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=JSR77 Domains and Servers
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=JSR77 EJBModules and EJBs
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=JSR77 J2EE Apps
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=JSR77 WebModule
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=MBeans
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=SystemFolder
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=UCLs
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=default
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=invoker
J2EEApplication=null,J2EEServer=Local,WebModule=we b-console.war,j2eeType=Servlet,name=jsp
J2EEApplication=null,J2EEServer=Local,j2eeType=EJB Module,name=EMREJBModule.jar
J2EEApplication=null,J2EEServer=Local,j2eeType=Res ourceAdapterModule,name=jboss-local-jdbc.rar
J2EEApplication=null,J2EEServer=Local,j2eeType=Res ourceAdapterModule,name=jboss-xa-jdbc.rar
J2EEApplication=null,J2EEServer=Local,j2eeType=Res ourceAdapterModule,name=jms-ra.rar
J2EEApplication=null,J2EEServer=Local,j2eeType=Web Module,name=EMRWebModule.war
J2EEApplication=null,J2EEServer=Local,j2eeType=Web Module,name=jmx-console.war
J2EEApplication=null,J2EEServer=Local,j2eeType=Web Module,name=web-console.war
J2EEServer=Local,JCAResource=DefaultDS,j2eeType=JC AConnectionFactory,name=DefaultDS
J2EEServer=Local,JCAResource=JmsXA,j2eeType=JCACon nectionFactory,name=JmsXA
J2EEServer=Local,ResourceAdapter=JBoss LocalTransaction JDBC Wrapper,j2eeType=JCAResource,name=DefaultDS
J2EEServer=Local,ResourceAdapter=JMS Adapter,j2eeType=JCAResource,name=JmsXA
J2EEServer=Local,j2eeType=J2EEApplication,name=htt p-invoker.sar
J2EEServer=Local,j2eeType=J2EEApplication,name=jbo ssmq-httpil.sar
J2EEServer=Local,j2eeType=JCAManagedConnectionFact ory,name=DefaultDS
J2EEServer=Local,j2eeType=JCAManagedConnectionFact ory,name=JmsXA
J2EEServer=Local,j2eeType=JMSResource,name=LocalJM S
J2EEServer=Local,j2eeType=JNDIResource,name=LocalJ NDI
J2EEServer=Local,j2eeType=JTAResource,name=ClientU serTransaction
J2EEServer=Local,j2eeType=JTAResource,name=Transac tionManager
J2EEServer=Local,j2eeType=JVM,name=localhost
J2EEServer=Local,j2eeType=JavaMailResource,name=De faultMail
J2EEServer=Local,j2eeType=ServiceModule,name=cache-invalidation-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=clien t-deployer-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=conso le-mgr.sar
J2EEServer=Local,j2eeType=ServiceModule,name=hsqld b-jdbc2-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=http-invoker.sar
J2EEServer=Local,j2eeType=ServiceModule,name=jboss-jca.sar
J2EEServer=Local,j2eeType=ServiceModule,name=jboss-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=jboss mq-destinations-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=jboss mq-httpil.sar
J2EEServer=Local,j2eeType=ServiceModule,name=jboss mq-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=jboss web-tomcat41.sar
J2EEServer=Local,j2eeType=ServiceModule,name=jmx-invoker-adaptor-server.sar
J2EEServer=Local,j2eeType=ServiceModule,name=jvm-il-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=mail-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=oil-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=oil2-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=prope rties-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=rmi-il-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=sched ule-manager-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=sched uler-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=snmp-adaptor.sar
J2EEServer=Local,j2eeType=ServiceModule,name=sqlex ception-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=trans action-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=uil2-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=user-service.xml
J2EEServer=Local,j2eeType=ServiceModule,name=uuid-key-generator.sar
j2eeType=J2EEDomain,name=Manager
j2eeType=J2EEServer,name=Local
jboss.mq
name=JBossMQProvider,service=JMSProviderLoader
name=StdJMSPool,service=ServerSessionPoolMBean
service=DestinationManager
service=InvocationLayer,type=HTTP
service=InvocationLayer,type=JVM
service=InvocationLayer,type=OIL
service=InvocationLayer,type=OIL2
service=InvocationLayer,type=RMI
service=InvocationLayer,type=UIL
service=InvocationLayer,type=UIL2
service=InvocationLayer,type=UILXA
service=Invoker
service=MessageCache
service=PersistenceManager
service=SecurityManager
service=StateManager
service=TracingInterceptor
jboss.mq.destination
name=A,service=Queue
name=B,service=Queue
name=C,service=Queue
name=D,service=Queue
name=DLQ,service=Queue
name=ex,service=Queue
name=securedTopic,service=Topic
name=testDurableTopic,service=Topic
name=testQueue,service=Queue
name=testTopic,service=Topic
jboss.rmi
type=RMIClassLoader
jboss.scripts
service=BSHDeployer
jboss.security
service=JaasSecurityManager
service=SecurityConfig
service=XMLLoginConfig
jboss.system
service=JARDeployer
service=Logging,type=Log4jService
service=MainDeployer
service=ServiceController
service=ServiceDeployer
type=Server
type=ServerConfig
type=ServerInfo
jboss.web
context=/EMRWebModule,name=action,vhost=localhost
context=/EMRWebModule,name=default,vhost=localhost
context=/EMRWebModule,name=invoker,vhost=localhost
context=/EMRWebModule,name=jsp,vhost=localhost
context=/invoker,name=EJBInvokerHAServlet,vhost=localhost
context=/invoker,name=EJBInvokerServlet,vhost=localhost
context=/invoker,name=JMXInvokerServlet,vhost=localhost
context=/invoker,name=JNDIFactory,vhost=localhost
context=/invoker,name=ReadOnlyJNDIFactory,vhost=localhost
context=/invoker,name=default,vhost=localhost
context=/invoker,name=invoker,vhost=localhost
context=/invoker,name=jsp,vhost=localhost
context=/jbossmq-httpil,name=HTTPServerILServlet,vhost=localhost
context=/jbossmq-httpil,name=default,vhost=localhost
context=/jbossmq-httpil,name=invoker,vhost=localhost
context=/jbossmq-httpil,name=jsp,vhost=localhost
context=/jmx-console,name=ClusterView,vhost=localhost
context=/jmx-console,name=ClusteredConsoleServlet,vhost=localho st
context=/jmx-console,name=DisplayMBeans,vhost=localhost
context=/jmx-console,name=DisplayOpResult,vhost=localhost
context=/jmx-console,name=HtmlAdaptor,vhost=localhost
context=/jmx-console,name=InspectMBean,vhost=localhost
context=/jmx-console,name=default,vhost=localhost
context=/jmx-console,name=invoker,vhost=localhost
context=/jmx-console,name=jsp,vhost=localhost
context=/web-console,name=HTTP Invocation,vhost=localhost
context=/web-console,name=J2EEFolder,vhost=localhost
context=/web-console,name=JSR77 Domains and Servers,vhost=localhost
context=/web-console,name=JSR77 EJBModules and EJBs,vhost=localhost
context=/web-console,name=JSR77 J2EE Apps,vhost=localhost
context=/web-console,name=JSR77 WebModule,vhost=localhost
context=/web-console,name=MBeans,vhost=localhost
context=/web-console,name=SystemFolder,vhost=localhost
context=/web-console,name=UCLs,vhost=localhost
context=/web-console,name=default,vhost=localhost
context=/web-console,name=invoker,vhost=localhost
context=/web-console,name=jsp,vhost=localhost
service=WebServer
jmx.loading
UCL=102679a
UCL=10d9151
UCL=1123eb0
UCL=1402eeb
UCL=14ba9a2
UCL=1588325
UCL=1898115
UCL=1a8773c
UCL=1ab5dae
UCL=1e09eab
UCL=1e8fa70
UCL=1f5b4d1
UCL=1ff5c98
UCL=39ab89
UCL=423d4f
UCL=42f352
UCL=497062
UCL=4b2b75
UCL=5585dc
UCL=61ec49
UCL=63a1ae
UCL=770d2e
UCL=932fe
UCL=983d95
UCL=ad5fab
UCL=d1a1ab
UCL=d306dd
UCL=f7345b

shaby775
Aug 21st, 2004, 11:02 AM
Hi Colin,
I searched the forum and found following thread
[/url]http://sourceforge.net/forum/forum.php?thread_id=970442&forum_id=250340

In that particular forumm thread i found Juergen comments as follows
"userTransactionName" is the correct property... Can you give a stack trace of the JNDI invocation that failed? Was it really JtaTransactionManager? BTW, good point regarding actual property values in the debug log. I'll try to address that for 1.0 M3.

A general note on transaction managers: You don't really gain a lot by using Spring's JtaTransactionManager within EJBs. It will always participate in the existing EJB-managed transactions, and it can't apply its transaction synchronization mechanisms for efficient resource handling. JtaTransactionManager can just offer its full power if it is driving the JTA transactions itself.

Most importantly, it will *not* bind Hibernate Sessions to the thread in existing EJB transactions, as it is not in control of transaction completion and thus can't properly remove the Session. Everything should still work, but there are as many Hibernate Sessions created within a transaction as there are HibernateTemplate invocations. A further issue is that there won't be proper afterTransactionCompletion callbacks for Hibernate's JVM-level caching.

In the case of EJB-driven transactions, it's probably better to use HibernateTransactionManager with Hibernate itself configured for JTA (i.e. JTATransaction plus transaction manager lookup). HibernateTransactionManager will care for thread-binding of Sessions, Hibernate's JTA configuration for proper afterTransactionCompletion callbacks. An alternative would be to leverage Hibernate's JCA Connector which is exactly targeted for usage with EJBs.

Guess why we offer complete alternatives to SLSB transaction demarcation... ;-) EJB-driven transactions involve many subtle issues, particularly with O/R mapping tools. The root problems are reusing the same sessions within a transaction and proper afterTransactionCompletion callbacks. You wouldn't need to care about any one of those issues when fully relying on Spring-managed transactions (i.e. no SLSBs at all) - and still be able to leverage your container's JTA (via JtaTransactionManager)!

Juergen

I solution found by Joel Costigliola - seldrick is not working for me. Though pointing transaction towards HibernateTransactionManager thats point towards Jta is working. i am asking is it right wich ways is best? why it is not working for me....
Please please help me......why not userTransactionManager not bind there.,.

shaby775
Aug 21st, 2004, 11:16 AM
Hi Colin,
The Url mentioened above was as
http://sourceforge.net/forum/forum.php?thread_id=970442&forum_id=250340

Juergen Hoeller
Aug 21st, 2004, 11:59 AM
I think the problem is occuring in this else block in SessionFactoryUtils

Indeed, that code is not correct when running with OpenSessionInViewFilter: It needs to return the default thread-bound Session if no JTA transaction is active. I've just fixed this; actually, I've recently fixed another Hibernate/JTA issue in SessionFactoryUtils too.

In general, Colin is right that you should execute within transactions in any case. If you perform non-transactional data access operations in combination with OpenSessionInViewFilter and JTA, you should use the most current SessionFactoryUtils version from CVS. If you have the chance, please give the latter a try!

Juergen

Colin Sampaleanu
Aug 21st, 2004, 03:12 PM
Karl,

To add to Juergen's note; Based on your previous message I think you still think that your methods are transactional, but as the log shows, they are not. Juergen's fix will of course resolve the issue with getting a new Session instead of using the old one, but your code will still be non-transactional, so you need to look at your regexes to see why the methods in question are note being treated as transactional.

Regards,

shaby775
Aug 22nd, 2004, 04:55 AM
Waiting for reply....please asap

kbaum
Aug 22nd, 2004, 09:42 AM
Hi Colin and Juergen,

I realize the methods I am speaking of are not using Transactions. My regular expressions only matche DAO methods beginning with save, update, or delete. For the methods beginning with find, I do not start a transaction because they are only reading from the database. I am under the impression that starting a transaction for methods that only read from the database is unneccessary and even a performance hit. Is this wrong?

Thanks again for all of your help!

Karl

Colin Sampaleanu
Aug 22nd, 2004, 10:09 PM
Karl,

I think it really depends on the app and usage scenario as to whether you'd want to make read methods non-transactional. Generally, I think it's easierand better to start with things transactional, then the config is simpler, and there are no issues with inconsitent data. Even if you are only reading data, if data is being read in multiple operations it can be inconsistent if you are non-transactional. Then if you start needing to optimize, you can do things like reading non-transactionally. Don't forget also that you can also do things like mark a transaction as read only, which will make the tx never commit, but still ensure that the data you read is consistent in that batch...

Regards,

Colin Sampaleanu
Aug 22nd, 2004, 10:20 PM
Shoaib,

What I would recommend you do is check out Spring from CVS and take a look at the ejbtest sample application which is under autobuilds.

In there are 3 variations of one ejb, with the following setup (all running in a JTA environment and coordinating with JTA):

- CMT (Container Managed Transactions) wrapping the EJB, delegating to a POJO object wrapped with Spring Transactions. This ultimately performs some hibernate operations
- CMT wrapping the EJB, delegating to a POJO object not wapped with any Spring transactions, ultimately doing Hibernate ops again
- NO CMT wrapping the EJB, delegating to a POJO object wrapped with Spring TX.

The app is set up for JBoss, and works fine. I did a bit of cleanup this afternoon and verified that. If I was you, I would build the app, deploy it (read the readme.txt file in it), and verify that the 'test' target in the build file can properly run an integration test against it, and take it from there, trying to figure out what the difference is in your applicaiton. Something in your setup is not correct, it's that simple...

Btw, please, in the future, try not to hijack an existing topic that somebody else has already started, to ask an unrelated question, as you did here. It is is confusing to try to keep track of both threads in the same topic. Just start a new topic for your own question.

Regards,

shaby775
Aug 23rd, 2004, 09:59 AM
Hi Colin,
Tahnks for your quick response i will check it tommorrow. Meanwhile please accept my apologies for posting in an irrelevant thread, it was not intended i actually got impression that from one reply that it is related but that was actually my fault.. again sorry i will never repeat this. Thanks for great framework ..Spring Team also for very good support forrums.

kbaum
Aug 23rd, 2004, 10:01 AM
Our application is almost entirely read only so for now I think I am going to stick with no transaction for the read operations.

Juergen's fix to SessionUtil for using container transactions seemes to working perfectly. Thanks for your help!

Karl