[JBoss jBPM] - BPEL GA on Oracle: ElementType causing problem while running
by meghanai_99
Hi,
With Oracle 10G, jBPM/BPEL 1.1 GA.
During the running of a BPEL process, I got:
| 13:58:26,218 ERROR [StartListener] request delivery failed due to non-recoverable exception, givi
| ng up
| org.hibernate.exception.GenericJDBCException: could not load an entity: [org.jbpm.bpel.graph.basic.assign.From#15]
| at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
| at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
| at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
| at org.hibernate.loader.Loader.loadEntity(Loader.java:1798)
| at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
| at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
| at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2977)
| at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:393)
| at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:374)
| at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:137)
| at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:96)
| at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
| at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:836)
| at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
| at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:198)
| at org.jbpm.bpel.graph.basic.assign.From_$$_javassist_1.extract(From_$$_javassist_1.java)
| at org.jbpm.bpel.graph.basic.assign.Copy.execute(Copy.java:34)
| at org.jbpm.bpel.graph.basic.Assign.execute(Assign.java:45)
| at org.jbpm.bpel.graph.def.Activity.enter(Activity.java:117)
| at org.jbpm.graph.def.Transition.take(Transition.java:151)
| at org.jbpm.graph.def.Node.leave(Node.java:394)
| at org.jbpm.bpel.graph.def.Activity.leave(Activity.java:210)
| at org.jbpm.bpel.graph.basic.Receive.messageReceived(Receive.java:53)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
| at org.jbpm.bpel.graph.basic.Receive_$$_javassist_19.messageReceived(Receive_$$_javassist_19.java)
| at org.jbpm.bpel.integration.def.ReceiveAction.deliverMessage(ReceiveAction.java:99)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:205)
| at org.jbpm.bpel.integration.def.ReceiveAction_$$_javassist_93.deliverMessage(ReceiveAction_$$_javassist_93.java
| )
| at org.jbpm.bpel.integration.jms.StartListener.deliverRequest(StartListener.java:222)
| at org.jbpm.bpel.integration.jms.StartListener.onMessage(StartListener.java:168)
| at org.jboss.mq.SpyMessageConsumer.run(SpyMessageConsumer.java:696)
| at java.lang.Thread.run(Thread.java:595)
| Caused by: java.sql.SQLException: Stream has already been closed
| at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
| at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
| at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
| at oracle.jdbc.driver.LongRawAccessor.getBinaryStream(LongRawAccessor.java:341)
| at oracle.jdbc.driver.OracleResultSetImpl.getBinaryStream(OracleResultSetImpl.java:886)
| at oracle.jdbc.driver.OracleResultSet.getBinaryStream(OracleResultSet.java:1700)
| at org.jboss.resource.adapter.jdbc.WrappedResultSet.getBinaryStream(WrappedResultSet.java:354)
| at org.jbpm.bpel.persistence.db.type.ElementType.nullSafeGet(ElementType.java:91)
| at org.hibernate.type.CustomType.nullSafeGet(CustomType.java:105)
| at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
| at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2031)
| at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1371)
| at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1299)
| at org.hibernate.loader.Loader.getRow(Loader.java:1197)
| at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
| at org.hibernate.loader.Loader.doQuery(Loader.java:689)
| at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
| at org.hibernate.loader.Loader.loadEntity(Loader.java:1784)
| ... 37 more
|
In jbpm.ga/bpel/library/src/main/java/org/jbpm/bpel/graph/basic/assign/From.hbm.xml
The last two mappings are:
| <subclass name="org.jbpm.bpel.graph.basic.assign.FromElement" discriminator-value="M">
|
| <property name="literal" type="element" column="ELEMENT_" length="4000" />
|
| </subclass>
|
|
| <subclass name="org.jbpm.bpel.graph.basic.assign.FromText" discriminator-value="T">
|
| <property name="literal" column="TEXT_" length="4000" />
|
| </subclass>
|
|
Once the table is created in Oracle,
ELEMENT_ LONG RAW
TEXT_ VARCHAR2(4000 CHAR)
I found some discussion saying the solution is to move the long raw column as the last mapping, which will make it got selected first, thus the stream would not be closed. But that did not work for me.
And suggestion? We know that to use LOB, instead of Long Raw, would be a solution, but we prefer a solution without JBPM source code change. Thanks a lot in advance.
Jay.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129543#4129543
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129543
18 years, 2 months
[JBoss Seam] - Re: Anybody got Seam 2.0.0 working with WebSphere 6.1 and EJ
by vietbird
Seam + EJB3 in WAS 6.1 example works fine for me.
EXCEPT:
When a session is time out while a stateful bean is in action (e.g. if I search for the Hotels and leave the result list open for about 10 minutes without doing anything else), there will be an exception:
| [15/02/08 12:20:33:984 EST] 0000001f Helpers W NMSV0605W: A javax.naming.Reference object looked up from the context "java:" with the name "comp/EJBContext" was sent to the JNDI Naming Manager and an exception resulted. Reference data follows:
| Reference Factory Class Name: com.ibm.ws.ejbcontainer.injection.factory.EJBContextObjectFactory
| Reference Factory Class Location URLs: <null>
| Reference Class Name: javx.ejb.EJBContext
|
| Exception data follows:
| com.ibm.wsspi.injectionengine.InjectionException: EJBContext may only be looked up by or injected into an EJB
| at com.ibm.ws.ejbcontainer.injection.factory.EJBContextObjectFactory.getObjectInstance(EJBContextObjectFactory.java:84)
| at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:316)
| at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:917)
| at com.ibm.ws.naming.urlbase.UrlContextHelper.processBoundObjectForLookup(UrlContextHelper.java:191)
| at com.ibm.ws.naming.java.javaURLContextRoot.processBoundObjectForLookup(javaURLContextRoot.java:407)
| at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1280)
| at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384)
| at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:204)
| at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:144)
| at javax.naming.InitialContext.lookup(InitialContext.java:363)
| at org.jboss.seam.util.EJB.getEJBContext(EJB.java:115)
| at org.jboss.seam.transaction.Transaction.createCMTTransaction(Transaction.java:66)
| at org.jboss.seam.transaction.Transaction.getTransaction(Transaction.java:50)
| at sun.reflect.GeneratedMethodAccessor751.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| at java.lang.reflect.Method.invoke(Method.java:618)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
| at org.jboss.seam.Component.callComponentMethod(Component.java:2082)
| at org.jboss.seam.Component.unwrap(Component.java:2108)
| at org.jboss.seam.Component.getInstance(Component.java:1887)
| at org.jboss.seam.Component.getInstance(Component.java:1852)
| at org.jboss.seam.Component.getInstance(Component.java:1829)
| at org.jboss.seam.Component.getInstance(Component.java:1824)
| at org.jboss.seam.transaction.Transaction.instance(Transaction.java:36)
| at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:331)
| at org.jboss.seam.contexts.Lifecycle.endCall(Lifecycle.java:96)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:122)
| at org.jboss.seam.intercept.RootInterceptor.invokeAndHandle(RootInterceptor.java:84)
| at org.jboss.seam.intercept.SessionBeanInterceptor.prePassivate(SessionBeanInterceptor.java:56)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| at java.lang.reflect.Method.invoke(Method.java:618)
| at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:227)
| at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:526)
| at com.ibm.ejs.container.interceptors.InvocationContextImpl.doLifeCycle(InvocationContextImpl.java:231)
| at com.ibm.ejs.container.StatefulBeanO.passivate(StatefulBeanO.java:1083)
| at com.ibm.ejs.container.StatefulBeanO.uninstall(StatefulBeanO.java:1485)
| at com.ibm.ejs.container.activator.StatefulSessionActivationStrategy.atTimeout(StatefulSessionActivationStrategy.java:611)
| at com.ibm.ejs.container.activator.Activator.timeoutBean(Activator.java:851)
| at com.ibm.ejs.container.StatefulBeanReaper.deleteBean(StatefulBeanReaper.java:468)
| at com.ibm.ejs.container.StatefulBeanReaper.sweep(StatefulBeanReaper.java:295)
| at com.ibm.ejs.container.StatefulBeanReaper.alarm(StatefulBeanReaper.java:252)
| at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:90)
| at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
|
| [15/02/08 12:20:33:984 EST] 0000001f Helpers W NMSV0610I: A NamingException is being thrown from a javax.naming.Context implementation. Details follow:
| Context implementation: com.ibm.ws.naming.java.javaURLContextRoot
| Context method: lookup(Name)
| Context name: java:
| Target name: comp/EJBContext
| Other data: ""
| Exception stack trace: com.ibm.websphere.naming.CannotInstantiateObjectException: Exception occurred while the JNDI NamingManager was processing a javax.naming.Reference object. [Root exception is com.ibm.wsspi.injectionengine.InjectionException: EJBContext may only be looked up by or injected into an EJB]
| at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:1021)
| at com.ibm.ws.naming.urlbase.UrlContextHelper.processBoundObjectForLookup(UrlContextHelper.java:191)
| at com.ibm.ws.naming.java.javaURLContextRoot.processBoundObjectForLookup(javaURLContextRoot.java:407)
| at com.ibm.ws.naming.urlbase.UrlContextImpl.lookup(UrlContextImpl.java:1280)
| at com.ibm.ws.naming.java.javaURLContextImpl.lookup(javaURLContextImpl.java:384)
| at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:204)
| at com.ibm.ws.naming.java.javaURLContextRoot.lookup(javaURLContextRoot.java:144)
| at javax.naming.InitialContext.lookup(InitialContext.java:363)
| at org.jboss.seam.util.EJB.getEJBContext(EJB.java:115)
| at org.jboss.seam.transaction.Transaction.createCMTTransaction(Transaction.java:66)
| at org.jboss.seam.transaction.Transaction.getTransaction(Transaction.java:50)
| at sun.reflect.GeneratedMethodAccessor751.invoke(Unknown Source)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| at java.lang.reflect.Method.invoke(Method.java:618)
| at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
| at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:125)
| at org.jboss.seam.Component.callComponentMethod(Component.java:2082)
| at org.jboss.seam.Component.unwrap(Component.java:2108)
| at org.jboss.seam.Component.getInstance(Component.java:1887)
| at org.jboss.seam.Component.getInstance(Component.java:1852)
| at org.jboss.seam.Component.getInstance(Component.java:1829)
| at org.jboss.seam.Component.getInstance(Component.java:1824)
| at org.jboss.seam.transaction.Transaction.instance(Transaction.java:36)
| at org.jboss.seam.contexts.Contexts.flushAndDestroyContexts(Contexts.java:331)
| at org.jboss.seam.contexts.Lifecycle.endCall(Lifecycle.java:96)
| at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:122)
| at org.jboss.seam.intercept.RootInterceptor.invokeAndHandle(RootInterceptor.java:84)
| at org.jboss.seam.intercept.SessionBeanInterceptor.prePassivate(SessionBeanInterceptor.java:56)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
| at java.lang.reflect.Method.invoke(Method.java:618)
| at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor(InterceptorProxy.java:227)
| at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed(InvocationContextImpl.java:526)
| at com.ibm.ejs.container.interceptors.InvocationContextImpl.doLifeCycle(InvocationContextImpl.java:231)
| at com.ibm.ejs.container.StatefulBeanO.passivate(StatefulBeanO.java:1083)
| at com.ibm.ejs.container.StatefulBeanO.uninstall(StatefulBeanO.java:1485)
| at com.ibm.ejs.container.activator.StatefulSessionActivationStrategy.atTimeout(StatefulSessionActivationStrategy.java:611)
| at com.ibm.ejs.container.activator.Activator.timeoutBean(Activator.java:851)
| at com.ibm.ejs.container.StatefulBeanReaper.deleteBean(StatefulBeanReaper.java:468)
| at com.ibm.ejs.container.StatefulBeanReaper.sweep(StatefulBeanReaper.java:295)
| at com.ibm.ejs.container.StatefulBeanReaper.alarm(StatefulBeanReaper.java:252)
| at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:90)
| at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
| Caused by: com.ibm.wsspi.injectionengine.InjectionException: EJBContext may only be looked up by or injected into an EJB
| at com.ibm.ws.ejbcontainer.injection.factory.EJBContextObjectFactory.getObjectInstance(EJBContextObjectFactory.java:84)
| at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:316)
| at com.ibm.ws.naming.util.Helpers.processSerializedObjectForLookupExt(Helpers.java:917)
| ... 43 more
|
|
I am using OpenJPA provider shipped with WAS. Also declared inside components.xml the transaction:
<transaction:ejb-transaction/>
Does anyone have some ideas about this?
Thanks
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129539#4129539
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129539
18 years, 2 months
[JBoss Seam] - a4j:include and seam navigation rules
by rodrigotico
Hello,
Is there any way to render a page in a include area from outside this area using seam navigation rules?
For example:
1- I have wizard in a middle of a page (main.xhtml)
2- This wizard is implemented with a4j:include and the previous and next buttons are inside the step pages (step1.xhtml, step2.xhtml, ...)
3- The navigation rules are on page.xml (step1.page.xml)
4- On my main page I have a button to reset this wizard.
Example of a navigation file
>>step2.page.xml
| <page>
| <navigation>
| <rule if-outcome="previous">
| <render view-id="/step1.xhtml"/>
| </rule>
| <rule if-outcome="next">
| <render view-id="/step3.xhtml"/>
| </rule>
| </navigation>
| </page>
|
I tried to put a navigation rule at main.page.xml but it clears all the rest of the main page when I reset the wizard and shows only the step1.xhtml.
>>main.page.xml
| <page>
| <navigation>
| <rule if-outcome="reset">
| <render view-id="/step1.xhtml"/>
| </rule>
| </navigation>
| </page>
|
Is there any solution to render only at that included area?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4129536#4129536
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4129536
18 years, 2 months