[JBoss-user] [JBoss jBPM] - Observer / Listener pattern on jBPM process execution?
Hello. I am trying to implement a mechanism for real-time observing and monitoring the execution of jBPM processes. In particular, I need global notification of: * Every time a new process (or sub process) is created * Every time a process instance transitions to a new state * Every time a process ends (including end time) I notice there is support for adding RuntimeAction handlers dynamically in this post: http://www.jboss.com/index.html?module=bbop=viewtopict=70734 However, it seems this mechanism would require me to hook every node and event type of every process instance explicitly. Furthermore, it appears that it is not possible to get notification of processes ending using the event handler mechanism - I can add a 'node-enter' handler to the end-state, however when this is called the process is still running, and hence the process instance end time field is still null! Is there a mechanism that I might have missed that can support what I am trying to do? Alternatively, does it make sense to support a node-leave handler on the end-state, that is only called once the process instance has been marked with an end time? It seems to me that the Logging system might be ideally positioned to implement such an observer mechanism. Is there an easy way of hooking a callback handler to receive log events on the fly? Thanks. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3953322#3953322 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3953322 Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnkkid=120709bid=263057dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [EJB 3.0] - Possible EJB persistent timer bug?
Hello. I am using JBossAs 4.0.4.GA with EJB3.0 RC8 and Postgres, and have implemented a jBPM timer service as a SLSB in a similar way to this post: http://www.jboss.com/index.html?module=bbop=viewtopict=74691 However, after running for some time I get this exception: anonymous wrote : 2006-06-14 19:52:18,328 ERROR [org.jboss.ejb.txtimer.TimerServiceImpl] Cannot create txtimer | java.lang.IllegalStateException: Unable to persist timer | at org.jboss.ejb.txtimer.DatabasePersistencePolicy.insertTimer(DatabasePersistencePolicy.java:126) | at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) | at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source) | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) | at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) | at $Proxy26.insertTimer(Ljava.lang.String;Lorg.jboss.ejb.txtimer.TimedObjectId;Ljava.util.Date;JLjava.io.Serializable;)V(Unknown Source) | at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:256) | at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:202) | at com.vieo.ccs.server.bean.JbpmSchedulerBean.timeoutHandler(JbpmSchedulerBean.java:107) | at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) | at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112) | at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166) | at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key violates unique constraint timers_pk | at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512) | at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297) | at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188) | at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430) | at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346) | at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:300) | at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:251) | at org.jboss.ejb.txtimer.GeneralPurposeDatabasePersistencePlugin.insertTimer(GeneralPurposeDatabasePersistencePlugin.java:186) | at org.jboss.ejb.txtimer.DatabasePersistencePolicy.insertTimer(DatabasePersistencePolicy.java:122) | at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) | at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source) | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) | at org.jboss.mx.util.MBeanProxyExt.invoke(MBeanProxyExt.java:210) | at $Proxy26.insertTimer(Ljava.lang.String;Lorg.jboss.ejb.txtimer.TimedObjectId;Ljava.util.Date;JLjava.io.Serializable;)V(Unknown Source) | at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:256) | at org.jboss.ejb.txtimer.TimerServiceImpl.createTimer(TimerServiceImpl.java:202) | at com.vieo.ccs.server.bean.JbpmSchedulerBean.timeoutHandler(JbpmSchedulerBean.java:107) | Other people seem to be having a similar problem too: http://www.jboss.com/index.html?module=bbop=viewtopict=84439 http://www.jboss.com/index.html?module=bbop=viewtopict=76127 http://www.jboss.com/index.html?module=bbop=viewtopict=60741 I have spent some time
[JBoss-user] [JBoss Messaging] - Message Groups or Unit-of-Order support?
Hello. I am wondering whether there are plans to support any kind of clustered ordered message processing in JBoss Messaging? By this I mean some mechanism by which messages on a single queue can be 'grouped' together, such that the message broker guarantees that they are processed sequentially (even across a pool of distributed MDB consumers). This feature is invaluable if JMS messages are being used to signal JBoss jBPM process transitions. In this case, it is absolutely critical that these messages are processed in order, otherwise transitions may be signalled from an invalid state! Currently, the only ways I can see of ensuring this are by having single-threaded message processing, which critically limits execution scalability, or by having multiple queues, which limits deployment scalability. If, however, JMS message grouping was supported it would be a simple matter to group jBPM signal messages by their process instance ID - thereby ensuring that the signals for a given process instance are always received in order, but allowing transitions for many independent process instances to be processed concurrently. I am aware of two other third-party JMS implementations which support this king of messaging functionality by extending the JMS API: 1. Message Groups in ActiveMQ 4.0 2. Unit-of-Order in Weblogic 9 A better description of the problem (and third-party solutions) is on these corresponding pages: http://activemq.org/site/message-groups.html http://e-docs.bea.com/wls/docs90/jms/uoo.html Has anyone on the JBoss team considered implementing a similar feature? Alternatively, does anyone know how I might ensure ordering at the application level and still use the existing JBoss Messaging functionality? Thanks for your help. View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3949795#3949795 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3949795 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss Seam] - Seam 1.0.0.CR3 incompatible with EJB3.0 RC8?
I just upgraded to EJB 3.0 RC8 (on JBossAS 4.0.4.GA) and now I'm getting the following exception: anonymous wrote : | javax.ejb.EJBException: java.lang.RuntimeException: java.lang.NoSuchMethodError: getBean | at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:81) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:188) | at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98) | at $Proxy171.findTasks()V(Unknown Source) | at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown Source) | at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source) | at org.jboss.seam.util.Reflections.invoke(Reflections.java:13) | at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:32) | at org.jboss.seam.Component.callComponentMethod(Component.java:1239) | at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1198) | at org.jboss.seam.Component.getInstance(Component.java:1165) | at org.jboss.seam.Component.getInstance(Component.java:1151) | at org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:44) | at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:130) | at com.sun.el.parser.AstIdentifier.getValue(AstIdentifier.java:41) | at com.sun.el.parser.AstValue.getValue(AstValue.java:85) | Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodError: getBean | at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:128) | at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:71) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79) | at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:81) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47) | at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101) | at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106) | at
[JBoss-user] [Installation, Configuration Deployment] - Re: Mail service doesn't work in JBoss 4.0.4RC1
I've got the same problem with JBoss 4.0.4RC1 in the mail service JNDI lookup always returning null. From the log: anonymous wrote : 16:42:45,312 INFO [MailService] Mail Service bound to mail/Mail My code: Context jndiContext = new session = (Session) jndiContext.lookup(mail/Mail); | if( session == null ) { | logger.error(JNDI lookup returned null session.); | } Program output: anonymous wrote : 16:46:55,156 [main] ERROR EmailUtils : JNDI lookup returned null session. Any ideas what is going on? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3930002#3930002 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3930002 --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [Installation, Configuration Deployment] - Re: Mail service doesn't work in JBoss 4.0.4RC1
OK I found what the problem is (for my case at least): The code I was using to request the Session object from JNDI was running as a unit test case external to JBoss itself. (ie. as a JBoss client, rather than as a session bean or mbean). When I put this same code inside a session bean the Session object resolved fine! Is this a bug or a feature? Should client applications be able to request the MailService from JNDI and get an appropriate remote proxy object? If this is indeed the desired behaviour, would it not be better to throw some kind of NamingException to indicate that a remote interface is not available for the given object name, rather than just returning null? View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3930262#3930262 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3930262 --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [EJB 3.0] - javax.jms.Session and Temporary Queues from a MDB?
Hello. I am porting some code that previously ran as a MBean to use the EJB 3.0 MDB MessageListener interface. Previously, my MBean would maintain its own JMS Connection and Session objects, however as an MDB, it appears I can only access the Message object itself. Is this correct? In order to send an asynchronous response to a message, I previously use d the following code: | Destination tempDestination = msg.getJMSReplyTo(); | | // Create a temporary producer | MessageProducer tempProducer = session.createProducer(tempDestination); | | // Send the message | ObjectMessage objMsg = session.createObjectMessage(ack); | tempProducer.send(objMsg); | | // Close our temporary producer | tempProducer.close(); | Now this code can only work if I have the same Session object that was used to receive the message prior to being passed to the onMessage() method. Does anyone know how can I do this from an EJB3 MDB onMessage() handler? Thanks! View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3929680#3929680 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3929680 --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user
[JBoss-user] [JBoss jBPM] - ClassLoader issue with jBPM and EJB3+EAR deployment?
I am relatively to JBoss/jBPM but have been having good sucess with it so far. However I have just hit a problem that has had me stumped for the better part of a day now. I am using: - jboss-EJB-3.0_RC5-PFD - jbpm-3.1 - jboss-4.0.4RC1 Most of it works fine, except I am having trouble with the execution of a jBPM process invoked from a @Stateless session bean. I have a process definition deployed into my database that I can successfully invoke from a method in the stateless session bean. However if I attempt to trigger a custom ActionHandler from the process, jBPM complains that it cannot find the action handler class. Here is an extract of my processdefinition.xml file: anonymous wrote : | |start-state name=start | | transition name= to=Invoke Call/transition | |/start-state | |state name=Invoke Call | | event type=node-enter | | action name=createCall config-type=field class=com.vieo.ccs.process.actions.CreateCallActionHandler / | | /event | | transition name=ACTIVE to=Setup Success/transition | |/state | | The exception I am getting is as follows: anonymous wrote : | 18:30:00,156 ERROR [GraphElement] action threw exception: couldn't get value for file 'classes/com/vieo/ccs/process/actions/CreateCallActionHandler.class' org.jbpm.JbpmException: couldn't get value for file 'classes/com/vieo/ccs/process/actions/CreateCallActionHandler.class' | at org.jbpm.file.def.FileDefinition.getBytes(FileDefinition.java:186) | at org.jbpm.instantiation.ProcessClassLoader.findClass(ProcessClassLoader.java:55) | at java.lang.ClassLoader.loadClass(ClassLoader.java:306) | at java.lang.ClassLoader.loadClass(ClassLoader.java:251) | at org.jbpm.instantiation.Delegation.instantiate(Delegation.java:140) | at org.jbpm.instantiation.Delegation.getInstance(Delegation.java:125) | at org.jbpm.instantiation.Delegation$$FastClassByCGLIB$$6bae1598.invoke() | at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149) | at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:161) | at org.jbpm.instantiation.Delegation$$EnhancerByCGLIB$$1e6cb7ea.getInstance() | at org.jbpm.graph.def.Action.execute(Action.java:122) | at org.jbpm.graph.def.GraphElement.executeAction(GraphElement.java:235) | at org.jbpm.graph.def.GraphElement.executeActions(GraphElement.java:212) | ... | stuff cut | ... | Caused by: org.jbpm.JbpmException: file 'classes/com/vieo/ccs/process/actions/CreateCallActionHandler.class' not found in db | ... | more stuff cut | ... | 18:30:00,156 ERROR [StartProcessActionHandlerBean] JBPMException: org.jbpm.graph.def.DelegationException | Now, to me this looks like jBPM cannot find my ActionHandler class (com.vieo.ccs.process.actions.CreateCallActionHandler) so I wrote a little bit of code in my stateless session bean to test it: anonymous wrote : | | try { | | ClassLoader classloader = this.getClass().getClassLoader(); | | Class systemC = classloader.loadClass(com.vieo.ccs.process.actions.CreateCallActionHandler); | | logger.info(Loaded system class: + systemC); | | } catch (ClassNotFoundException e) { | | logger.error(Error system class loader! : + e); | | } | | try { | | // Test org.jbpm.util.ClassLoaderUtil | | Class jbpmC = ClassLoaderUtil.loadClass(com.vieo.ccs.process.actions.CreateCallActionHandler); | | if( jbpmC != null ) { | | logger.info(Loaded jbpm class: + jbpmC); | | } else { | | logger.info(Loaded jbpm class: null); | | } | | } catch (JbpmException e) { | | logger.error(Error jbpm class loader! : + e); | | } | | And sure enough, I can successfully access this class from my code, but for some reason if I use the jBPM ClassLoader then it cannot be found! Here is the output: anonymous wrote : | 18:30:00,109 INFO [StartProcessActionHandlerBean] Loaded system class: class com.vieo.ccs.process.actions.CreateCallActionHandler | 18:30:00,125 ERROR [StartProcessActionHandlerBean] Error jbpm class loader! : org.jbpm.JbpmException: class not found 'com.vieo.ccs.process.actions.CreateCallActionHandler' | My understanding is that, for some reason, jBPM cannot access my classes (which are currently deployed as a .jar within my .ear package). How do I make the classes in my .ear visible to the installed jBPM instance? (jBPM was
[JBoss-user] [JBoss jBPM] - Re: ClassLoader issue with jBPM and EJB3+EAR deployment?
OK after sleeping on it and having another look in the morning I found the problem! It turns out I accidently had a jboss-app.xml file included in my .ear file which was enabling scoped class loading via a loader-repository tag. Remove this file from the .ear and magically everything works! Presumably having an isolated deployment means that jBPM can't see my classes, which I guess is the intention of this feature? Does anyone know if it is possible to use custom jBPM action handlers with isolated deployments? For my purposes I don't need isolated deployments for the time being so it is not a problem, but for anyone else who is having ClassLoader difficulties check out: http://wiki.jboss.org/wiki/Wiki.jsp?page=ClassLoadingConfiguration View the original post : http://www.jboss.com/index.html?module=bbop=viewtopicp=3927646#3927646 Reply to the post : http://www.jboss.com/index.html?module=bbop=postingmode=replyp=3927646 --- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnkkid=110944bid=241720dat=121642 ___ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user