[JBoss JIRA] Created: (JBPM-1191) Enterprise console error: No CurrentSessionContext configured
by Alejandro Guizar (JIRA)
Enterprise console error: No CurrentSessionContext configured
-------------------------------------------------------------
Key: JBPM-1191
URL: http://jira.jboss.com/jira/browse/JBPM-1191
Project: JBoss jBPM
Issue Type: Task
Components: Core Engine
Environment: JBoss 4.2.2.GA
Reporter: Alejandro Guizar
Assigned To: Tom Baeyens
Fix For: jBPM jPDL 3.2.3
After logging in to the web console deployed inside the enterprise archive, the following error is reported:
Error loading process list: An exception of type "org.hibernate.HibernateException" was thrown. The message is: No CurrentSessionContext configured!
This happens even tough the hibernate.current_session_context_class property is explicitly set to "jta". According to the manual, even if that property was not set it, Hibernate would use the JTASessionContext because a transaction.manager_lookup_class is configured. So the throwing of this exception is really weird.
What is worse, I cannot figure out why I can't get a stack trace. The web console uses JDK logging (in sync with the JSF implementation). I set the java.util.logging.config.file system property to the attached config file, and actually get some log records written to the target log file. There are two issues that strike me:
1. I see INFO records in the console. Nonetheless, only FINE-level records appear in the log file. Why don't INFO records appear in the log file?
2. org.jbpm.jsf.core.impl.JbpmJsfContextImpl.setError(String, Throwable) has code that logs the exception at FINE level. However, the corresponding record never appears in the log file. Who or what slurped it?
Any help with the above would be appreciated.
That said, I hate JDK logging. log4j has an intuitive configuration. I never got weird results like the above from it. Why log4j wasn't just standardized as it was, or at least the JDK logging API made a clear distinction between interface and implementation?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months
[JBoss JIRA] Closed: (JBPM-630) jbpm should not go off when resource.hibernate.properties points to inexistent resource
by Alejandro Guizar (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-630?page=all ]
Alejandro Guizar closed JBPM-630.
---------------------------------
> jbpm should not go off when resource.hibernate.properties points to inexistent resource
> ---------------------------------------------------------------------------------------
>
> Key: JBPM-630
> URL: http://jira.jboss.com/jira/browse/JBPM-630
> Project: JBoss jBPM
> Issue Type: Feature Request
> Components: Core Engine
> Affects Versions: jBPM 3.1
> Reporter: Alejandro Guizar
> Assigned To: Alejandro Guizar
> Fix For: jBPM 3.1.1
>
>
> When running the testsuite against multiple databases, the ability to override the default database connection properties in hibernate.cfg.xml with database-specific settings in a separate hibernate.properties file is convenient.
> All DB test cases use the jbpm config file src/java.jbpm.test/org/jbpm/jbpm.test.cfg.xml as per the hard-coded resource path in AbstractDbTestCase. The setting resource.hibernate.properties has to be uncommented for the above to work. This update must be committed so that the change does not need to be manually applied every time QA runs cruisecontrol. However, it has not been committed because doing so causes the local tests (which do not require overriding any settings) to fail with:
> org.jbpm.JbpmException: couldn't load hibernate properties from unexisting resource 'hibernate.properties'
> at org.jbpm.db.hibernate.HibernateHelper.loadPropertiesFromResource(HibernateHelper.java:171)
> at org.jbpm.db.hibernate.HibernateHelper.createConfiguration(HibernateHelper.java:100)
> at org.jbpm.persistence.db.DbPersistenceServiceFactory.getConfiguration(DbPersistenceServiceFactory.java:68)
> at org.jbpm.persistence.db.DbPersistenceServiceFactory.getSchemaExport(DbPersistenceServiceFactory.java:76)
> at org.jbpm.persistence.db.DbPersistenceServiceFactory.createSchema(DbPersistenceServiceFactory.java:107)
> at org.jbpm.JbpmConfiguration.createSchema(JbpmConfiguration.java:383)
> at org.jbpm.JbpmConfiguration.createSchema(JbpmConfiguration.java:375)
> at org.jbpm.db.AbstractDbTestCase.createSchema(AbstractDbTestCase.java:121)
> at org.jbpm.db.AbstractDbTestCase.setUp(AbstractDbTestCase.java:55)
> [...]
> Caused by: java.lang.NullPointerException
> at java.io.Reader.<init>(Reader.java:61)
> at java.io.InputStreamReader.<init>(InputStreamReader.java:80)
> at java.util.Properties.load(Properties.java:266)
> at org.jbpm.db.hibernate.HibernateHelper.loadPropertiesFromResource(HibernateHelper.java:168)
> ... 22 more
> I understand you want to enforce that the properties resource exists when you explicitly reference it from jbpm.cfg.xml, but this doesn't help QA. Here are the alternatives I can think of:
> a) Log a warning when the referenced resource does not exist, but do not throw an exception.
> b) Remove the hard-coded resource path in AbstractDbTestCase, so that QA can use an alternate jbpm.cfg.xml file
> c) Any other alternative?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months
[JBoss JIRA] Closed: (JBPM-742) Reimplement JobExecutorServlet as a ServletContextListener
by Alejandro Guizar (JIRA)
[ http://jira.jboss.com/jira/browse/JBPM-742?page=all ]
Alejandro Guizar closed JBPM-742.
---------------------------------
> Reimplement JobExecutorServlet as a ServletContextListener
> ----------------------------------------------------------
>
> Key: JBPM-742
> URL: http://jira.jboss.com/jira/browse/JBPM-742
> Project: JBoss jBPM
> Issue Type: Feature Request
> Components: Core Engine
> Affects Versions: jBPM jPDL 3.2 alpha 2
> Reporter: Alejandro Guizar
> Assigned To: Alejandro Guizar
> Fix For: jBPM jPDL 3.2.3
>
>
> ServletContextListeners are a viable alternative to servlets for management of the jBPM scheduler/command threads. From the Servlet 2.4 spec, section 10.2:
> >>>
> Servlet event listeners support event notifications for state changes in the ServletContext, HttpSession and ServletRequest objects.
> Servlet context listeners are used to **manage resources** or state held at a JVM level for the application.
> <<<
> Their intent definitely seems to match our purposes.
> Further below:
> >>>
> There may be multiple listener classes listening to each event type.
> <<<
> We could have separate listeners for the scheduler and command executor so that applications may remove either of them in case the related service is not used.
> Section 10.2.2 provides an example. When the application starts up, the listener creates a connection to the database and stores it in the servlet context. Servlets access the connection from the context as needed. When the application shuts down, the listener closes the connection.
> Our listener could start the thread and store it in the servlet context, then stop it using the mechanisms provided by JBPM-741.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months
[JBoss JIRA] Created: (JBPM-1167) JMS message service fails under WebSphere 6.1
by Alejandro Guizar (JIRA)
JMS message service fails under WebSphere 6.1
---------------------------------------------
Key: JBPM-1167
URL: http://jira.jboss.com/jira/browse/JBPM-1167
Project: JBoss jBPM
Issue Type: Bug
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Reporter: Alejandro Guizar
Assigned To: Tom Baeyens
Fix For: jBPM jPDL 3.2.3, jBPM 3.2.2 SOA 1
The application is using jBPM under WebSphere 6.1 and using jbpm-enterprise.jar that ships with JBPM 3.2.2 for asynchronous continuation. When JBPM hits an async node, the JmsMessageServiceImpl class gets invoked to send a JMS message, resulting in this exception:
Note: the WebSphere MQ messaging provider is being used.
java.lang.UnsupportedOperationException: MQJMS1014: operation invalid for identified producer
at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:1184)
at com.ibm.mq.jms.MQMessageProducer.send(MQMessageProducer.java:3132)
at com.ibm.ejs.jms.JMSMessageProducerHandle.send(JMSMessageProducerHandle.java :1014)
at org.jbpm.msg.jms.JmsMessageServiceImpl.send(JmsMessageServiceImpl.java:77)
at org.jbpm.graph.def.Node.enter(Node.java:316)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6 4)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitial izer.java:157)
at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$8c4161a1.enter(<generated>)
at org.jbpm.graph.def.Transition.take(Transition.java:151)
at org.jbpm.graph.def.Node.leave(Node.java:394)
at org.jbpm.graph.node.StartState.leave(StartState.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6 4)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitial izer.java:157)
at org.jbpm.graph.def.Node$$EnhancerByCGLIB$$8c4161a1.leave(<generated>)
at org.jbpm.graph.exe.Token.signal(Token.java:195)
at org.jbpm.graph.exe.Token.signal(Token.java:140)
at gov.ssa.ejb.jbpm.LaunchJBPMBean.doIt(LaunchJBPMBean.java:129)
at gov.ssa.ejb.jbpm.EJSLocalStatelessLaunchJBPM_6a5e7e51.doIt(EJSLocalStateles sLaunchJBPM_6a5e7e51.java:23)
at gov.ssa.ejb.jms.mdb.JBPMLaunchMDBBean.onMessage(JBPMLaunchMDBBean.java:103)
at com.ibm.ejs.jms.listener.MDBWrapper$PriviledgedOnMessage.run(MDBWrapper.jav a:302)
at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.jav a:63)
at com.ibm.ejs.jms.listener.MDBWrapper.callOnMessage(MDBWrapper.java:271)
at com.ibm.ejs.jms.listener.MDBWrapper.onMessage(MDBWrapper.java:240)
at com.ibm.mq.jms.MQSession.run(MQSession.java:1682)
at com.ibm.ejs.jms.JMSSessionHandle.run(JMSSessionHandle.java:967)
at com.ibm.ejs.jms.listener.ServerSession.connectionConsumerOnMessage(ServerSe ssion.java:891)
at com.ibm.ejs.jms.listener.ServerSession.onMessage(ServerSession.java:656)
at com.ibm.ejs.jms.listener.ServerSession.dispatch(ServerSession.java:623)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:6 4)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp l.java:43)
at java.lang.reflect.Method.invoke(Method.java:615)
at com.ibm.ejs.jms.listener.ServerSessionDispatcher.dispatch(ServerSessionDisp atcher.java:37)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:96)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:132)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:481)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)
Looking up the error code at the top of the stack trace yields:
MQJMS1014 Operation invalid for identified producer.
Explanation: The QueueSender.send method has been performed on an identified QueueSender, which contradicts the JMS specification
User Response: See QueueSender and the JMS specification (http://java.sun.com/products/jms/docs.html) for further information.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months
[JBoss JIRA] Created: (JBPM-1245) hardcoded keys for standard instances map in class ProcessInstance
by Hauke Rabe (JIRA)
hardcoded keys for standard instances map in class ProcessInstance
------------------------------------------------------------------
Key: JBPM-1245
URL: http://jira.jboss.com/jira/browse/JBPM-1245
Project: JBoss jBPM
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Core Engine
Affects Versions: jBPM jPDL 3.2.2
Reporter: Hauke Rabe
in case you replace the "resource.default.modules" to define different definition classes, such as
#org.jbpm.taskmgmt.def.TaskMgmtDefinition
.........jbpm.taskmgmt.def.ExtendedTaskMgmtDefinition (extends TaskMgmtDefinition)
over these definitions new ModuleInstance are created, for example you replace the TaskMgmtInstance with ExtendedTaskMgmtInstance (extends TaskMgmtInstance)
ModuleInstance instance = definition.createInstance();
ProcessInstance#addInstance(final ModuleInstance moduleInstance) uses the classname as instance map key, but for example the accessor ProcessInstance#getTaskMgmtInstance() uses hardcoded TaskMgmtInstance.class as key.
conclusion: the defined ExtendedTaskMgmtInstance instance must use the TaskMgmtInstance.class as key.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
16 years, 6 months