[Design of EJB 3.0] - Re: Creating (JMS) Destinations automatically for MDBs
by adrian@jboss.org
"wolfc" wrote : Isn't this just an activation config property?
No, but it could be if the rar supports the feature natively.
This feature is a JBoss value add on if the rar doesn't support it.
i.e. our generic jms rar can't support it because it doesn't know
the api for different jms backends.
Somebody could also write a version of the deployer/bean for WSMQ
using whatever admin api WSMQ provides.
I'm just going to provide the JBoss Messaing version.
All that's required within the EJB3 layer (beyond what has already
been done in the xml) is being able to annotate the
message driven bean to trigger the behaviour with something like:
| @org.jboss.ejb3.annotations.CreateDestination
| public class MyMDB extends ...
|
So what needs doing to handle that, i.e. scan the mdb for the annotation and update the
new metadata.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180299#4180299
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180299
15 years, 7 months
[Design of the JBoss EJB Container] - Re: Container artifacts should have symmetric lifecycles
by emuckenhuber
I've commited some test cases and the tests are passing for Session and MessageDriven beans.
There are two tests still failing regarding to CMP (which are disabled in the normal test runs atm)
org.jboss.test.ejb.lifecycle.test.CmpLifeCycleUnitTest
org.jboss.test.ejb.lifecycle.test.UserTransactionLifeCycleUnitTest
Those tests are failing with this exception:
| Error checking if entity exists:java.sql.SQLException: S1000 General error java.lang.RuntimeException: prepared statement is no longer valid
| javax.ejb.CreateException: Error checking if entity exists:java.sql.SQLException: S1000 General error java.lang.RuntimeException: prepared statement is no longer valid
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCInsertPKCreateCommand.beforeInsert(JDBCInsertPKCreateCommand.java:105)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCAbstractCreateCommand.execute(JDBCAbstractCreateCommand.java:150)
| at org.jboss.ejb.plugins.cmp.jdbc.JDBCStoreManager.createEntity(JDBCStoreManager.java:587)
| at org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersistenceManager.java:237)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.createEntity(CachedConnectionInterceptor.java:223)
| at org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:783)
| at org.jboss.invocation.Invocation.performCall(Invocation.java:386)
| at org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(EntityContainer.java:1130)
| at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
| at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(EntitySynchronizationInterceptor.java:203)
| at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:187)
| at org.jboss.ejb.plugins.AbstractInterceptor.invokeHome(AbstractInterceptor.java:106)
| at org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityInstanceInterceptor.java:137)
| at org.jboss.ejb.plugins.EntityLockInterceptor.invokeHome(EntityLockInterceptor.java:76)
| at org.jboss.ejb.plugins.EntityCreationInterceptor.invokeHome(EntityCreationInterceptor.java:45)
| at org.jboss.ejb.plugins.CallValidationInterceptor.invokeHome(CallValidationInterceptor.java:56)
| at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:125)
| at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
| at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:161)
| at org.jboss.ejb.plugins.SecurityInterceptor.process(SecurityInterceptor.java:224)
| at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:199)
| at org.jboss.ejb.plugins.security.PreSecurityInterceptor.process(PreSecurityInterceptor.java:100)
| at org.jboss.ejb.plugins.security.PreSecurityInterceptor.invokeHome(PreSecurityInterceptor.java:88)
| at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:132)
| at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:107)
| at org.jboss.ejb.EntityContainer.internalInvokeHome(EntityContainer.java:525)
| at org.jboss.ejb.Container.invoke(Container.java:1045)
| at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
| at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
| at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
| at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
| at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
| at org.jboss.invocation.unified.server.UnifiedInvoker.invoke(UnifiedInvoker.java:232)
| at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:908)
| at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:742)
| at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:695)
| at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:549)
| at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:230)
| at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:206)
| at org.jboss.remoting.Client.invoke(Client.java:1708)
| at org.jboss.remoting.Client.invoke(Client.java:612)
| at org.jboss.invocation.unified.interfaces.UnifiedInvokerProxy.invoke(UnifiedInvokerProxy.java:162)
| at org.jboss.invocation.InvokerInterceptor.invokeInvoker(InvokerInterceptor.java:244)
| at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:181)
| at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
| at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:87)
| at org.jboss.proxy.ejb.HomeInterceptor.invoke(HomeInterceptor.java:184)
| at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:101)
|
|
As mentioned before - moving the code which starts/stops the associated persistenceManager
to the EjbModule makes those tests pass. I've attached a patch showing those changes to the related JIRA issue.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180297#4180297
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180297
15 years, 7 months
[Design the new POJO MicroContainer] - Re: Abstractions, reuse and bad examples
by alesj
"adrian(a)jboss.org" wrote :
| This is actually from the tests so its not too bad, but see below.
|
| This could obviously be made more useful to others with the following changes;
|
This deployer is only there to trigger Classpath::search w/o the real usage of facelets.
It shouldn't even be considered as a true deployer test/example.
Hence the only good/proper change would be to the javadocs,
stating its purpose, 'warning' against reuse. ;-)
"adrian(a)jboss.org" wrote :
| This argument is further enhanced because if you look at what
| ClassPath.search() it is wrong,
| it isn't making reference to the ClassLoadingMetaData/Module
| so it will ignore any filters.
|
| Has this code been copied somewhere else?
|
It's the Classpath class we're interested in.
And the fix to understand vfs and nested jars / resources.
This patch was ported to main facelets code.
So, there is no way to know anything about CLMD.
I agree with you that it's wrong,
but tell this to n external frameworks that make bad url assumptions. :-)
"adrian(a)jboss.org" wrote :
| It's generally a bad idea to show the wrong way to do things in tests
| because people copy what they find thinking that's the way it is supposed to work. :-)
I'll fix the javadocs on this. ;-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4180256#4180256
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4180256
15 years, 7 months