<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body link="#355491" alink="#4262a1" vlink="#355491" style="background: #e2e2e2; margin: 0; padding: 20px;">

<div>
        <table cellpadding="0" bgcolor="#FFFFFF" border="0" cellspacing="0" style="border: 1px solid #dadada; margin-bottom: 30px; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                <tbody>
                        <tr>

                                <td>

                                        <table border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF" style="border: solid 2px #ccc; background: #dadada; width: 100%; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
                                                <tbody>
                                                        <tr>
                                                                <td bgcolor="#000000" valign="middle" height="58px" style="border-bottom: 1px solid #ccc; padding: 20px; -moz-border-radius-topleft: 3px; -moz-border-radius-topright: 3px; -webkit-border-top-right-radius: 5px; -webkit-border-top-left-radius: 5px;">
                                                                        <h1 style="color: #333333; font: bold 22px Arial, Helvetica, sans-serif; margin: 0; display: block !important;">
                                                                        <!-- To have a header image/logo replace the name below with your img tag -->
                                                                        <!-- Email clients will render the images when the message is read so any image -->
                                                                        <!-- must be made available on a public server, so that all recipients can load the image. -->
                                                                        <a href="http://community.jboss.org/index.jspa" style="text-decoration: none; color: #E1E1E1">JBoss Community</a></h1>
                                                                </td>

                                                        </tr>
                                                        <tr>
                                                                <td bgcolor="#FFFFFF" style="font: normal 12px Arial, Helvetica, sans-serif; color:#333333; padding: 20px;  -moz-border-radius-bottomleft: 4px; -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 5px; -webkit-border-bottom-left-radius: 5px;"><h3 style="margin: 10px 0 5px; font-size: 17px; font-weight: normal;">
    Spring 3 + jbpm 4.4 + hibernate 3.3 + JPA + JTA integration error.
</h3>
<span style="margin-bottom: 10px;">
    created by <a href="http://community.jboss.org/people/ayusman_dikshit">Ayusman Dikshit</a> in <i>jBPM</i> - <a href="http://community.jboss.org/message/613295#613295">View the full discussion</a>
</span>
<hr style="margin: 20px 0; border: none; background-color: #dadada; height: 1px;">

<div class="jive-rendered-content"><p>All,</p><p>I have been able to make some progress in terms of integrating my current project with jbpm, based on the link below:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p><a class="jive-link-external-small" href="http://captaincaveman.posterous.com/jbpm-43-spring-3-jboss-jpa-jta-configuration">http://captaincaveman.posterous.com/jbpm-43-spring-3-jboss-jpa-jta-configuration</a></p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>With minor modifications, the set up was pretty much close. However, after all the configuration changes are done, I do face this error during server start-up.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><blockquote class="jive-quote"><p><span style="color: #ff0000;">[7/4/11 19:38:05:491 IST] 00000011 FfdcProvider&#160; W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on C:\Program Files\IBM\SDP\runtimes\base_v7\profiles\was70profile1\logs\ffdc\server1_57ff57ff_11.07.04_19.38.05.3343817305385213655618.txt com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated 1341</span><br/><span style="color: #ff0000;">[7/4/11 19:38:05:506 IST] 00000011 webapp&#160;&#160;&#160;&#160;&#160;&#160;&#160; E com.ibm.ws.webcontainer.webapp.WebApp notifyServletContextCreated SRVE0283E: Exception caught while initializing context: {0}</span><br/><span style="color: #ff0000;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; java.lang.NoClassDefFoundError: org.jbpm.api.ProcessEngine</span><br/><span style="color: #ff0000;"> at java.lang.Class.getDeclaredFieldsImpl(Native Method)</span><br/><span style="color: #ff0000;"> at java.lang.Class.getDeclaredFields(Class.java:550)</span><br/><span style="color: #ff0000;"> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:372)</span><br/><span style="color: #ff0000;"> at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:320)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:798)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:493)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)</span><br/><span style="color: #ff0000;"> at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)</span><br/><span style="color: #ff0000;"> at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)</span><br/><span style="color: #ff0000;"> at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)</span><br/><span style="color: #ff0000;"> at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)</span><br/><span style="color: #ff0000;"> at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)</span><br/><span style="color: #ff0000;"> at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1707)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.webapp.WebApp.commonInitializationFinish(WebApp.java:380)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:299)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:100)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:166)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:731)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:616)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:376)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:668)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1122)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1319)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:610)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:944)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:725)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.ApplicationMgrImpl$1.run(ApplicationMgrImpl.java:1266)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:4582)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:4760)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1271)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2043)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:439)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:382)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:653)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:615)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1177)</span><br/><span style="color: #ff0000;"> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</span><br/><span style="color: #ff0000;"> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)</span><br/><span style="color: #ff0000;"> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)</span><br/><span style="color: #ff0000;"> at java.lang.reflect.Method.invoke(Method.java:611)</span><br/><span style="color: #ff0000;"> at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:49)</span><br/><span style="color: #ff0000;"> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</span><br/><span style="color: #ff0000;"> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)</span><br/><span style="color: #ff0000;"> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)</span><br/><span style="color: #ff0000;"> at java.lang.reflect.Method.invoke(Method.java:611)</span><br/><span style="color: #ff0000;"> at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:256)</span><br/><span style="color: #ff0000;"> at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1085)</span><br/><span style="color: #ff0000;"> at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:966)</span><br/><span style="color: #ff0000;"> at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:848)</span><br/><span style="color: #ff0000;"> at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:773)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1332)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1225)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.management.remote.AdminServiceForwarder.invoke(AdminServiceForwarder.java:334)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1438)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:83)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1276)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1371)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:799)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi._RMIConnectionImpl_Tie.invoke(_RMIConnectionImpl_Tie.java:750)</span><br/><span style="color: #ff0000;"> at javax.management.remote.rmi._RMIConnectionImpl_Tie._invoke(_RMIConnectionImpl_Tie.java:158)</span><br/><span style="color: #ff0000;"> at com.ibm.CORBA.iiop.ServerDelegate.dispatchInvokeHandler(ServerDelegate.java:623)</span><br/><span style="color: #ff0000;"> at com.ibm.CORBA.iiop.ServerDelegate.dispatch(ServerDelegate.java:476)</span><br/><span style="color: #ff0000;"> at com.ibm.rmi.iiop.ORB.process(ORB.java:513)</span><br/><span style="color: #ff0000;"> at com.ibm.CORBA.iiop.ORB.process(ORB.java:1574)</span><br/><span style="color: #ff0000;"> at com.ibm.rmi.iiop.Connection.respondTo(Connection.java:2845)</span><br/><span style="color: #ff0000;"> at com.ibm.rmi.iiop.Connection.doWork(Connection.java:2718)</span><br/><span style="color: #ff0000;"> at com.ibm.rmi.iiop.WorkUnitImpl.doWork(WorkUnitImpl.java:63)</span><br/><span style="color: #ff0000;"> at com.ibm.ejs.oa.pool.PooledThread.run(ThreadPool.java:118)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)</span><br/><span style="color: #ff0000;">Caused by: java.lang.ClassNotFoundException: org.jbpm.api.ProcessEngine</span><br/><span style="color: #ff0000;"> at java.net.URLClassLoader.findClass(URLClassLoader.java:434)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.bootstrap.ExtClassLoader.findClass(ExtClassLoader.java:150)</span><br/><span style="color: #ff0000;"> at java.lang.ClassLoader.loadClass(ClassLoader.java:653)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.bootstrap.ExtClassLoader.loadClass(ExtClassLoader.java:90)</span><br/><span style="color: #ff0000;"> at java.lang.ClassLoader.loadClass(ClassLoader.java:619)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:62)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.classloader.ProtectionClassLoader.loadClass(ProtectionClassLoader.java:58)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:541)</span><br/><span style="color: #ff0000;"> at java.lang.ClassLoader.loadClass(ClassLoader.java:619)</span><br/><span style="color: #ff0000;"> ... 77 more</span></p><p><span style="color: #ff0000;">[7/4/11 19:38:05:538 IST] 00000011 webcontainer&#160; I com.ibm.ws.wswebcontainer.VirtualHost addWebApplication SRVE0250I: Web Module NAPSWeb has been bound to default_host[*:9081,*:80,*:9444,*:5063,*:5062,*:443].</span><br/><span style="color: #ff0000;">[7/4/11 19:38:05:553 IST] 00000011 ApplicationMg A&#160;&#160; WSVR0221I: Application started: NAPS</span><br/><span style="color: #ff0000;">[7/4/11 19:38:05:553 IST] 00000011 CompositionUn A&#160;&#160; WSVR0191I: Composition unit WebSphere:cuname=NAPS in BLA WebSphere:blaname=NAPS started.</span><br/><span style="color: #ff0000;">[7/4/11 19:38:06:147 IST] 0000001f FfdcProvider&#160; W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on C:\Program Files\IBM\SDP\runtimes\base_v7\profiles\was70profile1\logs\ffdc\server1_19071907_11.07.04_19.38.06.1471603185250462490371.txt com.ibm.ws.webcontainer.webapp.WebAppServletManager.loadServlet 208</span><br/><span style="color: #ff0000;">[7/4/11 19:38:06:163 IST] 0000001f servlet&#160;&#160;&#160;&#160;&#160;&#160; E com.ibm.ws.webcontainer.servlet.ServletWrapper run [Servlet Error]-[class java.lang.ClassNotFoundException: com.ibm.etools.utc.servlet.InitializeServlet]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: com.ibm.etools.utc.servlet.InitializeServlet</span><br/><span style="color: #ff0000;"> at java.beans.Beans.instantiate(Beans.java:190)</span><br/><span style="color: #ff0000;"> at java.beans.Beans.instantiate(Beans.java:75)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run(ServletWrapper.java:1909)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.servlet.ServletWrapper.loadServlet(ServletWrapper.java:1900)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:730)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:179)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3933)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:445)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:504)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:301)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:275)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)</span><br/><span style="color: #ff0000;"> at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)</span><br/><span style="color: #ff0000;"> at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)</span><br/><span style="color: #ff0000;"> at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)</span><br/><span style="color: #ff0000;"> at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)</span><br/><span style="color: #ff0000;"> at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)</span><br/><span style="color: #ff0000;"> at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)</span><br/><span style="color: #ff0000;"> at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1604)</span></p></blockquote><p>I do have the jbpm.jar file in the classpath (it's in the WEB-INF\lib folder.)</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>This is bit of a suprise to me. Has anybody faced similar problem?</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>System configuration:</p><p>RAD 7.5 and WAS 7.0.0.15 Test Environment on Windows XP SP3.</p><p>DB server: SQL Server.</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><p>I added the following to my already working spring applicationContext.xml file:</p><p style="min-height: 8pt; height: 8pt; padding: 0px;">&#160;</p><pre class="jive-pre"><code class="jive-code jive-xml">&#160;&#160;&#160;&#160; <span class="jive-xml-comment">&lt;!-- Added for JBPM&#160; START --&gt;
&#160;&#160;&#160;&#160; &lt;!--
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Activates a load-time weaver for the context. Any bean within the context that
&#160;&#160;&#160;&#160;&#160;&#160;&#160; implements LoadTimeWeaverAware (such as LocalContainerEntityManagerFactoryBean)
&#160;&#160;&#160;&#160;&#160;&#160;&#160; will receive a reference to the auto-detected load-time weaver.
&#160;&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; &lt;!--&#160;&#160;&#160; <span class="jive-xml-tag">&lt;context:load-time-weaver aspectj-weaving="on" /&gt;</span>--&gt;
&#160;&#160;&#160; 
&#160;&#160;&#160; &lt;!--
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Turn on AspectJ @Configurable support. As a result, any time you
&#160;&#160;&#160;&#160;&#160;&#160;&#160; instantiate an object, Spring will attempt to perform dependency
&#160;&#160;&#160;&#160;&#160;&#160;&#160; injection on that object. This occurs for instantiation via the "new"
&#160;&#160;&#160;&#160;&#160;&#160;&#160; keyword, as well as via reflection. This is possible because AspectJ
&#160;&#160;&#160;&#160;&#160;&#160;&#160; is used to "weave" Roo-based applications at compile time. In effect
&#160;&#160;&#160;&#160;&#160;&#160;&#160; this feature allows dependency injection of any object at all in your
&#160;&#160;&#160;&#160;&#160;&#160;&#160; system, which is a very useful feature (without @Configurable you'd
&#160;&#160;&#160;&#160;&#160;&#160;&#160; only be able to dependency inject objects acquired from Spring or
&#160;&#160;&#160;&#160;&#160;&#160;&#160; subsequently presented to a specific Spring dependency injection
&#160;&#160;&#160;&#160;&#160;&#160;&#160; method). Roo applications use this useful feature in a number of
&#160;&#160;&#160;&#160;&#160;&#160;&#160; areas, such as @PersistenceContext injection into entities.
&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;context:spring-configured /&gt;</span>&#160;&#160; 
&#160;&#160;&#160; &lt;!--
&#160;&#160;&#160;&#160;&#160;&#160;&#160; This declaration will cause Spring to locate every @Component,
&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Repository and @Service in your application. In practical terms this
&#160;&#160;&#160;&#160;&#160;&#160;&#160; allows you to write a POJO and then simply annotate the new POJO as an
&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Service and Spring will automatically detect, instantiate and
&#160;&#160;&#160;&#160;&#160;&#160;&#160; dependency inject your service at startup time. Importantly, you can
&#160;&#160;&#160;&#160;&#160;&#160;&#160; then also have your new service injected into any other class that
&#160;&#160;&#160;&#160;&#160;&#160;&#160; requires it simply by declaring a field for your service inside the
&#160;&#160;&#160;&#160;&#160;&#160;&#160; relying class and Spring will inject it. Furthermore, this turns on
&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Autowired, @PostConstruct etc support. These annotations allow you to
&#160;&#160;&#160;&#160;&#160;&#160;&#160; use common Spring and Java Enterprise Edition annotations in your
&#160;&#160;&#160;&#160;&#160;&#160;&#160; classes without needing to do any special configuration. The most
&#160;&#160;&#160;&#160;&#160;&#160;&#160; commonly used annotation is @Autowired, which instructs Spring to
&#160;&#160;&#160;&#160;&#160;&#160;&#160; dependency inject an object into your class.
&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;context:component-scan base-package="com.test" /&gt;</span> 
&#160;&#160;&#160; 
&#160;&#160;&#160;&#160; &lt;!-- enables interpretation of the @Required annotation to ensure that dependency injection actually occurs --&gt;
&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;bean class="org.springframework.beans.factory.annotation.RequiredAnnotationBeanPostProcessor"/&gt;</span>&#160;&#160; 
&#160;&#160;&#160; &lt;!--
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Activates various annotations to be detected in bean classes: Spring's
&#160;&#160;&#160;&#160;&#160;&#160;&#160; @Required and @Autowired, as well as JSR 250's @PostConstruct,
&#160;&#160;&#160;&#160;&#160;&#160;&#160; @PreDestroy and @Resource (if available) and JPA's @PersistenceContext
&#160;&#160;&#160;&#160;&#160;&#160;&#160; and @PersistenceUnit (if available).
&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;context:annotation-config
&#160;&#160;&#160;&#160;&#160;&#160;&#160; transaction-manager="transactionManager" /&gt;</span>
&#160;&#160;&#160; &lt;!--
&#160;&#160;&#160;&#160;&#160;&#160;&#160; Instruct Spring to retrieve and apply @AspectJ aspects which are
&#160;&#160;&#160;&#160;&#160;&#160;&#160; defined as beans in this context.
&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; &lt;!--&#160;&#160;&#160; <span class="jive-xml-tag">&lt;aop:aspectj-autoproxy proxy-target-class="true" /&gt;</span>--&gt;

&#160;&#160;&#160; &lt;!-- 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; The JNDI Hibernate session factory will not work for jBPM 4.4 as jBPM is expecting
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; a Spring LocalSessionFactoryBean. So we specify our mappings here.&#160; This will only
&#160;&#160;&#160;&#160;&#160;&#160;&#160; be used by jBPM.&#160; Spring will still inject the container managed persistence unit
&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere you use @PersistenceContext.
&#160;&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; &lt;!-- <span class="jive-xml-tag">&lt;jee:jndi-lookup id="sessionFactory" jndi-name="java:/SquareOneHibernateSessionFactory" /&gt;</span> --&gt;
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;!-- <span class="jive-xml-tag">&lt;property name="configLocation" value="classpath:/jbpm/jbpm.hibernate.cfg.xml" /&gt;</span> --&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="dataSource" ref="dataSource" /&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="mappingResources"&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;list&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;value&gt;</span>jbpm.repository.hbm.xml<span class="jive-xml-tag">&lt;/value&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;value&gt;</span>jbpm.execution.hbm.xml<span class="jive-xml-tag">&lt;/value&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;value&gt;</span>jbpm.history.hbm.xml<span class="jive-xml-tag">&lt;/value&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;value&gt;</span>jbpm.task.hbm.xml<span class="jive-xml-tag">&lt;/value&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;value&gt;</span>jbpm.identity.hbm.xml<span class="jive-xml-tag">&lt;/value&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/list&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/property&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;!-- 
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Hibernate properties needed to configure the session factory to use JTA.
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; This will ensure that jBPM can participate in the application's JTA transactions. 
&#160;&#160;&#160;&#160;&#160;&#160;&#160; --&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="hibernateProperties"&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;props&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="hibernate.transaction.factory_class"&gt;</span>org.hibernate.transaction.CMTTransactionFactory<span class="jive-xml-tag">&lt;/prop&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="hibernate.transaction.manager_lookup_class"&gt;</span>org.hibernate.transaction.WebSphereTransactionManagerLookup<span class="jive-xml-tag">&lt;/prop&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="hibernate.dialect"&gt;</span>org.hibernate.dialect.SQLServerDialect<span class="jive-xml-tag">&lt;/prop&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="hibernate.connection.datasource"&gt;</span>java:jdbc/my_dataSource<span class="jive-xml-tag">&lt;/prop&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="jta.UserTransaction"&gt;</span>java:comp/UserTransaction<span class="jive-xml-tag">&lt;/prop&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="hibernate.hbm2ddl.auto"&gt;</span>false<span class="jive-xml-tag">&lt;/prop&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;!--&#160;&#160;&#160; <span class="jive-xml-tag">&lt;prop key="hibernate.default_schema"&gt;</span>dbo<span class="jive-xml-tag">&lt;/prop&gt;</span>--&gt;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/props&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/property&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/bean&gt;</span>
&#160;&#160;&#160; 
&#160;&#160;&#160; &lt;!-- jBPM beans.
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Based on the jBPM provided way of creating a Spring process engine set up.
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; This can also be done by calling the Process engine methods with parameters directly.
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; However this is the most appropriate way of initializing jBPM.
&#160;&#160;&#160; --&gt;
&#160;&#160;&#160; &lt;!--&#160;&#160;&#160; <span class="jive-xml-tag">&lt;util:properties id="my_jbpm_config" location="classpath:/resources/my.jbpm.cfg.xml"/&gt;</span>--&gt;
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;bean id="springHelper" class="org.jbpm.pvm.internal.processengine.SpringHelper"&gt;</span>
&#160;&#160;&#160;&#160;&#160;&#160;&#160; <span class="jive-xml-tag">&lt;property name="jbpmCfg" value="/WEB-INF/resources/my.jbpm.cfg.xml"/&gt;</span>
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;/bean&gt;</span>
&#160;&#160;&#160; 
&#160;&#160;&#160; <span class="jive-xml-tag">&lt;bean id="processEngine" factory-bean="springHelper" factory-method="createProcessEngine" scope="singleton"/&gt;</span>
&#160;&#160;&#160; &lt;!-- Added for JBPM&#160; END --&gt;</span>

 
 
Any pointers will be of great help.
 
 Thanks,
 Ayusman
</code></pre></div>

<div style="background-color: #f4f4f4; padding: 10px; margin-top: 20px;">
    <p style="margin: 0;">Reply to this message by <a href="http://community.jboss.org/message/613295#613295">going to Community</a></p>
        <p style="margin: 0;">Start a new discussion in jBPM at <a href="http://community.jboss.org/choose-container!input.jspa?contentType=1&containerType=14&container=2034">Community</a></p>
</div></td>
                        </tr>
                    </tbody>
                </table>


                </td>
            </tr>
        </tbody>
    </table>

</div>

</body>
</html>