Problem with ode.war

23 views
Skip to first unread message

khushi....@gmail.com

unread,
Oct 29, 2007, 9:36:51 AM10/29/07
to tempo-dev
I am just analyzing tempo project by doing various testing.
It seems Intalio BMMS server ( "intalio-bpms-5.0.0.064.zip") use its
own modified version od ODE
as when i try to replace it with latest ode download from apace site,
it stopped working in all the cases( it works but only for some cases)

I have noticed as WEB-INF\lib folder have different jars than the
standard ode, so there come some difference in ode-bpel-runtime.jar .

See the following sequence of line where line between "st_comment" and
"end_comment" never got called ( Is there some way to make standard
ode downloaded from the apache site, to work with tempo project??)

org.apache.ode.bpel.engine.BpelEngineImpl ==> Routed: svcQname
org.apache.ode.bpel.engine.MyRoleMessageExchangeImpl ==> invoke() EPR=
null ==>

/* st_comment: Never got called with normal ode.war */
----------------------------------------------------------------------------------------------------------------------------------
org.apache.ode.scheduler.simple.SimpleScheduler ==> scheduling
{type=INVOKE_INTERNAL,
org.apache.ode.scheduler.simple.JdbcDelegate ==> insertJob
org.apache.ode.sql ==> getConnection (tx=2)
org.apache.ode.sql ==> prepareStmt: insert into ODE_JOB (jobid,
nodeid, ts, scheduled,
org.apache.ode.sql ==> close
---------------------------------------------------------------------------------------------------------------------------------------
/* end_comment: Never got called with normal ode.war */

org.apache.ode.axis2.ODEService ==> Commiting ODE MEX
org.apache.ode.axis2.ODEService ==> Commiting transaction.

Alex Boisvert

unread,
Oct 29, 2007, 9:02:03 PM10/29/07
to temp...@googlegroups.com
Hi Kushi,

Intalio BPMS 5.0.0.064 contains standard Ode 1.0 plus some bug fix
patches applied to it. The differences you're seeing are probably due
to comparing to Ode 1.1 where we upgraded some dependencies (most due
to the upgrade to Axis2 1.3). We'll be releasing a BPMS version based
on Axis2 1.3 later this year, probably in December.

Can you describe the issue you're having in more detail? The section
of log you sent is not sufficient.

regards,
alex

khushi....@gmail.com

unread,
Oct 30, 2007, 1:24:31 AM10/30/07
to tempo-dev
Just one quick query

Do we need to define transaction manager as well while setting up
the Database especially when we are working in tomcat.
I can see in "setenv.bat" file contain a variable "-
Dorg.apache.ode.configDir=%GERONIMO_HOME%\var\config". When I et this
variable(along with -Dorg.intalio.tempo.configDirectory) in my
setenv.bat file inside tomcat and copy the relevant files in tomcat/
conf and tomcat/common/lib, then in log I see messages stating
"initializing transaction manager" ( but finally transaction manager
failed as it try to load org.apache.ode.axis2.util.GeronimoFactory in
tomcat--- I didn't dig this issue much yet).
Is this a relevent step for tempo project ? If yes then can you guide
me to set up the Transaction manager for derby database along in
connection with ode.


Thanks

On Oct 30, 6:02 am, "Alex Boisvert" <boisv...@intalio.com> wrote:
> Hi Kushi,
>
> Intalio BPMS 5.0.0.064 contains standard Ode 1.0 plus some bug fix
> patches applied to it. The differences you're seeing are probably due
> to comparing to Ode 1.1 where we upgraded some dependencies (most due
> to the upgrade to Axis2 1.3). We'll be releasing a BPMS version based
> on Axis2 1.3 later this year, probably in December.
>
> Can you describe the issue you're having in more detail? The section
> of log you sent is not sufficient.
>
> regards,
> alex
>

Alex Boisvert

unread,
Oct 30, 2007, 12:30:24 PM10/30/07
to temp...@googlegroups.com
Do we need to define transaction manager as well while setting up
the  Database especially when we are working in tomcat.

Generally speaking, yes.  You should be using your application server's transaction manager and getting your datasources from the same.  This is not a requirement, but generally works better than doing everything yourself.

Is this a relevent step for tempo project ? If yes then can you guide
me to set up the Transaction manager for derby database along in
connection with ode.

Tempo does not require access to the transaction manager, only to a datasource.  This is different from Ode where since Ode can demarcate transactions.

The transaction manager integration in Ode is configured via ode-axis2.properties.

Does that help?

alex

Message has been deleted

khushi....@gmail.com

unread,
Oct 31, 2007, 2:10:29 AM10/31/07
to tempo-dev
Hi Alex,

/* Note: I think this is the last struggle point while setting up
tempo project with tomcat to get it work fully ( still it is working
80% of its capabilities). Once i reslove this issue I'll be in
position to post the setting of building up the tempo project under
the tomcat.
I rechead so far only with the help of Alex.
*/

Thanks for the information. I have already figured out that ode-
axis2.properties file (inside conf folder) that is having following
properties:

ode-axis2.db.mode=EXTERNAL
ode-axis2.db.ext.dataSource=java:comp/env/jdbc/BPMSDB
ode-axis2.tx.factory.class=org.apache.ode.axis2.util.GeronimoFactory
ode-axis2.message.replicate.emptyns=true
ode-
axis2.dao.factory=org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl

Here everything looks ok but when I don't use this file in tomcat it
uses default setting where
1) It uses "org.apache.ode.il.EmbeddedGeronimoFactory" instead of
"org.apache.ode.axis2.util.GeronimoFactory".

2) Do we need to define "ode-axis2.db.ext.dataSource=java:comp/env/
jdbc/BPMSDB" ? as for the default setting I never set this.

3) I define datasource property in "ode-axis2.properties"
ode-axis2.db.mode=EXTERNAL
ode-axis2.db.ext.dataSource=java:comp/env/jdbc/BPMSDB

Is it fine? ( I get transaction error after doing this--- but can look
into more detail if this step is ok)

4) If i use "ode-axis2.properties" as it is with all the properties
then i get following error:

FATAL - GeronimoLog.fatal(120) | Couldn't initialize a transaction
manager with factory: org.apache.ode.axis2.util.GeronimoFactory
java.lang.reflect.InvocationTargetException
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.apache.ode.axis2.ODEServer.initTxMgr(ODEServer.java:
381)
at org.apache.ode.axis2.ODEServer.init(ODEServer.java:141)
at
org.apache.ode.axis2.hooks.ODEAxisServlet.init(ODEAxisServlet.java:50)
at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
1105)
at
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:
932)
at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
3951)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:
4225)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
759)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
739)
at
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at
org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:
904)
at
org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:
867)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at
org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:
310)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
119)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at
org.apache.catalina.core.StandardService.start(StandardService.java:
450)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:
551)
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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:
294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:
432)
Caused by: java.lang.NullPointerException
at
org.apache.ode.axis2.util.GeronimoFactory.getTransactionManager(GeronimoFactory.java:
51)

Thanks
khushi

On Oct 31, 10:09 am, "khushi.aggar...@gmail.com"
<khushi.aggar...@gmail.com> wrote:
> Hi Alex,
>
> Thanks for the information. I have already figured out that ode-
> axis2.properties file (inside conf folder) that is having following
> properties:
>
> ode-axis2.db.mode=EXTERNAL
> ode-axis2.db.ext.dataSource=java:comp/env/jdbc/BPMSDB
> ode-axis2.tx.factory.class=org.apache.ode.axis2.util.GeronimoFactory
> ode-axis2.message.replicate.emptyns=true
> ode-
> axis2.dao.factory=org.apache.ode.daohib.bpel.BpelDAOConnectionFactoryImpl
>
> Here everything looks ok but when I don't use this file in tomcat it
> uses default setting where
> 1) It uses "org.apache.ode.il.EmbeddedGeronimoFactory" instead of
> "org.apache.ode.axis2.util.GeronimoFactory".
>
> 2) Do we need to define "ode-axis2.db.ext.dataSource=java:comp/env/
> jdbc/BPMSDB" ? as for the default setting I never set this.
>
> 3) I define datasource property in "ode-axis2.properties"
> ode-axis2.db.mode=EXTERNAL
> ode-axis2.db.ext.dataSource=java:comp/env/jdbc/BPMSDB
>
> Is it fine? ( I get transaction error after doing this--- but can look
> into more detail if this step is ok)
>
> 4) If i use "ode-axis2.properties" as it is with all the properties
> then i get following error:
>
> FATAL - GeronimoLog.fatal(120) | Couldn't initialize a transaction
> manager with factory: org.apache.ode.axis2.util.GeronimoFactory
> java.lang.reflect.InvocationTargetException
> 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.apache.ode.axis2.ODEServer.initTxMgr(ODEServer.java:
> 381)
> at org.apache.ode.axis2.ODEServer.init(ODEServer.java:141)
> at
> org.apache.ode.axis2.hooks.ODEAxisServlet.init(ODEAxisServlet.java:50)
> at
> org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:
> 1105)
> at
> org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:
> 932)
> at
> org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:
> 3951)
> at
> org.apache.catalina.core.StandardContext.start(StandardContext.java:
> 4225)
> at
> org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:
> 759)
> at
> org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:
> 739)
> at
> org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
> at
> org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:
> 904)
> at
> org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:
> 867)
> at
> org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
> at
> org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
> at
> org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:
> 310)
> at
> org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:
> 119)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
> at
> org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
> at
> org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
> at
> org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
> at
> org.apache.catalina.core.StandardService.start(StandardService.java:
> 450)
> at
> org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
> at org.apache.catalina.startup.Catalina.start(Catalina.java:
> 551)
> 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.apache.catalina.startup.Bootstrap.start(Bootstrap.java:
> 294)
> at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:
> 432)
> Caused by: java.lang.NullPointerException
> at
> org.apache.ode.axis2.util.GeronimoFactory.getTransactionManager(GeronimoFactory.java:
> 51)
>
> Thanks
> khushi
>
> On Oct 30, 9:30 pm, "Alex Boisvert" <boisv...@intalio.com> wrote:

Alex Boisvert

unread,
Oct 31, 2007, 10:44:26 AM10/31/07
to temp...@googlegroups.com
Here everything looks ok but when I don't use this file in tomcat it
uses default setting where
1) It uses  "org.apache.ode.il.EmbeddedGeronimoFactory " instead of
"org.apache.ode.axis2.util.GeronimoFactory".

Correct.  By default Ode uses an embedded transaction manager -- not the application server's -- so you can use it in a lightweight configuration ( e.g. standalone Tomcat/Jetty).

2) Do we need to define "ode-axis2.db.ext.dataSource=java:comp/env/
jdbc/BPMSDB" ? as for the default setting I never set this.

This property is only needed if you use "ode-axis2.db.mode=EXTERNAL".    

3) I define datasource property in "ode-axis2.properties"
ode-axis2.db.mode=EXTERNAL
ode-axis2.db.ext.dataSource=java:comp/env/jdbc/BPMSDB
Is it fine? ( I get transaction error after doing this--- but can look
into more detail if this step is ok)

Yes, assuming you have configured your JNDI context accordingly.

4) If i use "ode-axis2.properties" as it is with all the properties
then i get following error:

FATAL - GeronimoLog.fatal (120) | Couldn't initialize a transaction

manager with factory: org.apache.ode.axis2.util.GeronimoFactory
java.lang.reflect.InvocationTargetException

You'll get this exception if you're not running in Geronimo 1.0.

If you're running a standalone Tomcat, you should use the EmbeddedGeronimoFactory instead with "ode-axis2.db.mode=INTERNAL" and setting " ode-axis2.db.int.jdbcurl" and "ode-axis2.db.int.driver".

To sum up, there are 3 valid configurations for Ode,

1) Embedded (default):  Mostly for testing and easy setup.  Uses its own transaction manager and embedded Derby. 

2) Internal:  For lightweight configuration, e.g. standalone Jetty/Tomcat.   Uses its own transaction manager with specified JDBC Driver. 

3) External:  For J2EE deployment.  Uses application server's transaction manager with JNDI datasource. 

regards,
alex

Reply all
Reply to author
Forward
0 new messages