Create instances of process from Java (step by step)
1 answer
Hi,
is this documentation not enough? http://documentation.bonitasoft.com/create-your-first-project-maven
Gabriel
Hi,
is this documentation not enough? http://documentation.bonitasoft.com/create-your-first-project-maven
Gabriel
Comments
Hi Gabriel.
My scenario is diferent; My process is already deployed and running in Jboss 5.1, so I want to create instances from that process deployed via JAVA.
When I trying create the platform with the below code I get one exception:
Code:
// login as platform administrator<br />
<br />
PlatformSession session = doPlatformLogin(PLATFORM_ADMIN, PLATFORM_PASSWORD);<br />
<br />
try {<br />
System.out.println("Creating and initializing the platform ...");<br />
// create and initialize the platform<br />
getPlatformAPI(session).createAndInitializePlatform();<br />
System.out.println("Platform created and initialized!");
// start the node (make scheduler service to start)<br />
getPlatformAPI(session).startNode();<br />
System.out.println("Node started!");<br />
} finally {<br />
// logout<br />
doPlatformLogout(session);<br />
}<br />
}
Exception:
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bonitaSequenceManagerDSJNDI' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-ds.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-transaction-api-impl.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:122)<br />
at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:88)<br />
at com.sun.proxy.$Proxy0.login(Unknown Source)<br />
at org.bonita.example.BPMClient.doPlatformLogin(BPMClient.java:137)<br />
at org.bonita.example.BPMClient.createPlatform(BPMClient.java:106)<br />
at org.bonita.example.BPMClient.main(BPMClient.java:53)<br />
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'actorMappingService' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-actor-mapping-impl.xml]: Cannot resolve reference to bean 'persistenceService' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistenceService' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-persistence-hibernate.xml]: Cannot resolve reference to bean 'sequenceManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sequenceManager' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-sequence-impl.xml]: Cannot resolve reference to bean 'bonitaSequenceManagerDSJNDI' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bonitaSequenceManagerDSJNDI' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-ds.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bonitaSequenceManagerDSJNDI' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-ds.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
Related cause: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-transaction-api-impl.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)<br />
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630)<br />
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)<br />
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)<br />
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)<br />
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)<br />
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)<br />
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)<br />
at org.bonitasoft.engine.service.impl.AbsoluteFileSystemXmlApplicationContext.<init>(AbsoluteFileSystemXmlApplicationContext.java:41)<br />
at org.bonitasoft.engine.service.impl.SpringPlatformFileSystemBeanAccessor.initializeContext(SpringPlatformFileSystemBeanAccessor.java:81)<br />
at org.bonitasoft.engine.service.impl.SpringPlatformFileSystemBeanAccessor.getContext(SpringPlatformFileSystemBeanAccessor.java:72)<br />
at org.bonitasoft.engine.service.impl.SpringPlatformFileSystemBeanAccessor.getService(SpringPlatformFileSystemBeanAccessor.java:67)<br />
at org.bonitasoft.engine.service.impl.SpringPlatformServiceAccessor.getPlatformLoginService(SpringPlatformServiceAccessor.java:98)<br />
at org.bonitasoft.engine.api.impl.PlatformLoginAPIImpl.login(PlatformLoginAPIImpl.java:52)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
at java.lang.reflect.Method.invoke(Method.java:597)<br />
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:292)<br />
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:217)<br />
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:105)<br />
... 5 more<br />
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'persistenceService' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-persistence-hibernate.xml]: Cannot resolve reference to bean 'sequenceManager' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sequenceManager' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-sequence-impl.xml]: Cannot resolve reference to bean 'bonitaSequenceManagerDSJNDI' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bonitaSequenceManagerDSJNDI' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-ds.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)<br />
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630)<br />
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)<br />
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)<br />
... 33 more<br />
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sequenceManager' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-sequence-impl.xml]: Cannot resolve reference to bean 'bonitaSequenceManagerDSJNDI' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bonitaSequenceManagerDSJNDI' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-ds.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:106)<br />
at org.springframework.beans.factory.support.ConstructorResolver.resolveConstructorArguments(ConstructorResolver.java:630)<br />
at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:148)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)<br />
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)<br />
... 45 more<br />
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bonitaSequenceManagerDSJNDI' defined in file [C:\BonitaBPMCommunity-6.2.1-JBoss-5.1.0.GA\bonita\server\platform\conf\services\cfg-bonita-ds.xml]: Invocation of init method failed; nested exception is javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)<br />
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)<br />
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)<br />
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322)<br />
... 57 more<br />
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial<br />
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)<br />
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)<br />
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)<br />
at javax.naming.InitialContext.lookup(InitialContext.java:392)<br />
at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:154)<br />
at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:87)<br />
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:152)<br />
at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:178)<br />
at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:95)<br />
at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:105)<br />
at org.springframework.jndi.JndiObjectFactoryBean.lookupWithFallback(JndiObjectFactoryBean.java:201)<br />
at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:187)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)<br />
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)<br />
... 64 more
What could be wrong ? :-(
Hi,
If your process is already deployed, why do you create the platform ? It's already existed normally. An if your bundle is already started, the node too.
You need to login with your tenant in first, get the APISession :
Then, get the ProcessAPI, and call the method to start a process instance :
Best regards,
Céline