You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2006/11/07 19:47:56 UTC
svn commit: r472199 - in /incubator/ode/trunk: axis2-war/
axis2/src/main/java/org/apache/ode/axis2/ bpel-store/
bpel-store/src/main/java/org/apache/ode/store/
bpel-store/src/main/java/org/apache/ode/store/dao/
Author: mriou
Date: Tue Nov 7 10:47:55 2006
New Revision: 472199
URL: http://svn.apache.org/viewvc?view=rev&rev=472199
Log:
Re-added some J2EE spec jars in the war to support deployment on Tomcat or Jetty easily. Optionnally providing a tx mgr to the conf store just so that it can decide whether it needs to manage its transaction itself or fit into an already started one.
Modified:
incubator/ode/trunk/axis2-war/pom.xml
incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
incubator/ode/trunk/bpel-store/pom.xml
incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/dao/ConfStoreConnectionHib.java
Modified: incubator/ode/trunk/axis2-war/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/axis2-war/pom.xml?view=diff&rev=472199&r1=472198&r2=472199
==============================================================================
--- incubator/ode/trunk/axis2-war/pom.xml (original)
+++ incubator/ode/trunk/axis2-war/pom.xml Tue Nov 7 10:47:55 2006
@@ -330,6 +330,18 @@
<scope>runtime</scope>
</dependency>
<dependency>
+ <groupId>geronimo-spec</groupId>
+ <artifactId>geronimo-spec-jta</artifactId>
+ <version>1.0.1B-rc4</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
+ <groupId>geronimo-spec</groupId>
+ <artifactId>geronimo-spec-j2ee-connector</artifactId>
+ <version>1.5-rc4</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
<groupId>geronimo</groupId>
<artifactId>geronimo-kernel</artifactId>
<version>${geronimoVersion}</version>
Modified: incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?view=diff&rev=472199&r1=472198&r2=472199
==============================================================================
--- incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ incubator/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Tue Nov 7 10:47:55 2006
@@ -260,7 +260,7 @@
String txFactoryName = _odeConfig.getTxFactoryClass();
__log.debug("Initializing transaction manager using " + txFactoryName);
try {
- Class txFactClass = Class.forName(txFactoryName);
+ Class txFactClass = this.getClass().getClassLoader().loadClass(txFactoryName);
Object txFact = txFactClass.newInstance();
_txMgr = (TransactionManager) txFactClass.getMethod("getTransactionManager", (Class[]) null).invoke(txFact);
} catch (Exception e) {
@@ -397,7 +397,7 @@
}
private void initProcessStore() {
- _store = new ProcessStoreImpl(_workRoot, _datasource, true);
+ _store = new ProcessStoreImpl(_workRoot, _datasource, _txMgr);
}
private void initBpelServer() {
Modified: incubator/ode/trunk/bpel-store/pom.xml
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-store/pom.xml?view=diff&rev=472199&r1=472198&r2=472199
==============================================================================
--- incubator/ode/trunk/bpel-store/pom.xml (original)
+++ incubator/ode/trunk/bpel-store/pom.xml Tue Nov 7 10:47:55 2006
@@ -51,6 +51,11 @@
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
</dependency>
+ <dependency>
+ <groupId>geronimo-spec</groupId>
+ <artifactId>geronimo-spec-jta</artifactId>
+ <version>1.0.1B-rc4</version>
+ </dependency>
</dependencies>
<build>
<plugins>
Modified: incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java?view=diff&rev=472199&r1=472198&r2=472199
==============================================================================
--- incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java (original)
+++ incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/ProcessStoreImpl.java Tue Nov 7 10:47:55 2006
@@ -17,6 +17,7 @@
import org.w3c.dom.Node;
import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
import javax.wsdl.Definition;
import javax.xml.namespace.QName;
import java.io.ByteArrayOutputStream;
@@ -46,17 +47,17 @@
private File _appDir;
private ConfStoreConnection _conn;
- public ProcessStoreImpl(File appDir, DataSource ds, boolean transactional) {
- this(appDir, ds, new DeploymentManagerImpl(new File(appDir, "processes")), transactional);
+ public ProcessStoreImpl(File appDir, DataSource ds, TransactionManager txMgr) {
+ this(appDir, ds, new DeploymentManagerImpl(new File(appDir, "processes")), txMgr);
}
// Both appdir and datasource could be null
- public ProcessStoreImpl(File appDir, DataSource ds, DeploymentManager deployer, boolean transactional) {
+ public ProcessStoreImpl(File appDir, DataSource ds, DeploymentManager deployer, TransactionManager txMgr) {
_deploymentManager = deployer;
_appDir = appDir;
_ds = ds;
// TODO in-memory if no datasource given
- if (_ds != null) _conn = new ConfStoreConnectionHib(_ds, appDir, transactional);
+ if (_ds != null) _conn = new ConfStoreConnectionHib(_ds, appDir, txMgr);
else _conn = new ConfStoreConnectionInMem();
reloadDeploymentUnits();
Modified: incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/dao/ConfStoreConnectionHib.java
URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/dao/ConfStoreConnectionHib.java?view=diff&rev=472199&r1=472198&r2=472199
==============================================================================
--- incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/dao/ConfStoreConnectionHib.java (original)
+++ incubator/ode/trunk/bpel-store/src/main/java/org/apache/ode/store/dao/ConfStoreConnectionHib.java Tue Nov 7 10:47:55 2006
@@ -19,6 +19,7 @@
import org.hibernate.dialect.DialectFactory;
import javax.sql.DataSource;
+import javax.transaction.TransactionManager;
import javax.xml.namespace.QName;
import java.io.BufferedInputStream;
import java.io.File;
@@ -39,11 +40,11 @@
private static DataSource _ds;
private final SessionFactory _sessionFactory;
- private boolean _transactional = false;
+ private TransactionManager _txMgr = null;
- public ConfStoreConnectionHib(DataSource _ds, File appRoot, boolean transactional) {
+ public ConfStoreConnectionHib(DataSource _ds, File appRoot, TransactionManager txMgr) {
org.apache.ode.store.dao.ConfStoreConnectionHib._ds = _ds;
- _transactional = transactional;
+ _txMgr = txMgr;
Properties properties = new Properties();
properties.put(Environment.CONNECTION_PROVIDER, DataSourceConnectionProvider.class.getName());
properties.put(Environment.CURRENT_SESSION_CONTEXT_CLASS, "thread");
@@ -214,13 +215,15 @@
* @return callable result
*/
public <T> T exec(final Callable<T> callable) throws Exception {
+ boolean txStarted = _txMgr != null && _txMgr.getTransaction() != null;
+ System.out.println("### " + _txMgr.getTransaction());
try {
- if (!_transactional) _sessionFactory.getCurrentSession().beginTransaction();
+ if (!txStarted) _sessionFactory.getCurrentSession().beginTransaction();
T result = callable.run();
- if (!_transactional) _sessionFactory.getCurrentSession().getTransaction().commit();
+ if (!txStarted) _sessionFactory.getCurrentSession().getTransaction().commit();
return result;
} catch (Exception e) {
- if (!_transactional) _sessionFactory.getCurrentSession().getTransaction().rollback();
+ if (!txStarted) _sessionFactory.getCurrentSession().getTransaction().rollback();
throw e;
}
}