Error installing Bonita-6.3.8-deploy with jdk1.8, Tomcat7 and Mysql in CentOS7
Hi, I am facing problem in installing the deploy bundle. I have checked through the documentation and been googling around but no luck. The logs are as follows: I am sure platform table is created, and tried re-creating database and removing tenant folder but no luck.
Anyone can help me? Thanks in advance
Part of catalina.out: 2014-11-12 16:14:43 org.hibernate.engine.jdbc.spi.SqlExceptionHelper WARN: SQL Error: 1146, SQLState: 42S02 2014-11-12 16:14:43 org.hibernate.engine.jdbc.spi.SqlExceptionHelper ERROR: Table 'bonita.platform' doesn't exist
Part of bonita log:
2014-11-12 16:15:18 org.bonitasoft.console.common.server.servlet.PlatformTenantListener
SEVERE: Error while initializing the default tenant
java.lang.NullPointerException
at org.bonitasoft.engine.api.HTTPServerAPI.invokeMethod(HTTPServerAPI.java:143)
at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:88)
at com.sun.proxy.$Proxy8.login(Unknown Source)
at org.bonitasoft.console.common.server.servlet.PlatformTenantListener.initializeDefaultTenant(PlatformTenantListener.java:61)
at org.bonitasoft.console.common.server.servlet.PlatformTenantListener.contextInitialized(PlatformTenantListener.java:44)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4994)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5492)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:649)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:672)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1861)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at < ========== Beginning of the server stack trace ========== >. ( )
at java.lang.StringBuilder.
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filters
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'ApplicationResourceCacheFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'AuthorizationFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'Tomcat WebSocket (JSR356) Filter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'SecurityFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'CacheFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'BonitaHomeFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'TokenGeneratorFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'TokenValidatorFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'NoCacheFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'InternalSSOFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'RestAPIAuthorizationFilter'
2014-11-12 16:15:18 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita]
FINE: Starting filter 'BPMURLSupportFilter'
2014-11-12 16:15:26 org.bonitasoft.console.common.server.sso.filter.InternalSSOFilter
SEVERE: Can't retrieve default tenant id
org.bonitasoft.console.common.server.utils.DefaultTenantIdException: Can't retrieve default tenant id
at org.bonitasoft.console.common.server.utils.TenantsManagementUtils.getDefaultTenantId(TenantsManagementUtils.java:205)
at org.bonitasoft.console.common.server.login.TenantIdAccessor.getDefaultTenantId(TenantIdAccessor.java:52)
at org.bonitasoft.console.common.server.login.TenantIdAccessor.ensureTenantId(TenantIdAccessor.java:46)
at org.bonitasoft.console.common.server.login.filter.AutoLoginRule.doAuthorize(AutoLoginRule.java:31)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.isAuthorized(AuthorizationFilter.java:97)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.doAuthorizationFiltering(AuthorizationFilter.java:79)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.sso.filter.InternalSSOFilter.doFilter(InternalSSOFilter.java:103)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.SecurityFilter.doFilter(SecurityFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.NoCacheFilter.doFilter(NoCacheFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at org.bonitasoft.engine.api.HTTPServerAPI.invokeMethod(HTTPServerAPI.java:143)
at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:88)
at com.sun.proxy.$Proxy8.login(Unknown Source)
at org.bonitasoft.console.common.server.utils.TenantsManagementUtils.getDefaultTenantId(TenantsManagementUtils.java:200)
at org.bonitasoft.console.common.server.login.TenantIdAccessor.getDefaultTenantId(TenantIdAccessor.java:52)
at org.bonitasoft.console.common.server.login.TenantIdAccessor.ensureTenantId(TenantIdAccessor.java:46)
at org.bonitasoft.console.common.server.login.filter.AutoLoginRule.doAuthorize(AutoLoginRule.java:31)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.isAuthorized(AuthorizationFilter.java:97)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.doAuthorizationFiltering(AuthorizationFilter.java:79)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.sso.filter.InternalSSOFilter.doFilter(InternalSSOFilter.java:103)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.SecurityFilter.doFilter(SecurityFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.NoCacheFilter.doFilter(NoCacheFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
at < ========== Beginning of the server stack trace ========== >. ( )
at java.lang.StringBuilder.
2014-11-12 16:15:26 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita].[homepage]
SEVERE: Servlet.service() for servlet [homepage] in context with path [/bonita] threw exception [org.bonitasoft.console.common.server.utils.DefaultTenantIdException: Can't retrieve default tenant id] with root cause
java.lang.NullPointerException
at org.bonitasoft.engine.api.HTTPServerAPI.invokeMethod(HTTPServerAPI.java:143)
at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:88)
at com.sun.proxy.$Proxy8.login(Unknown Source)
at org.bonitasoft.console.common.server.utils.TenantsManagementUtils.getDefaultTenantId(TenantsManagementUtils.java:200)
at org.bonitasoft.console.common.server.login.TenantIdAccessor.getDefaultTenantId(TenantIdAccessor.java:52)
at org.bonitasoft.console.common.server.login.TenantIdAccessor.ensureTenantId(TenantIdAccessor.java:46)
at org.bonitasoft.console.common.server.login.filter.AutoLoginRule.doAuthorize(AutoLoginRule.java:31)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.isAuthorized(AuthorizationFilter.java:97)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.doAuthorizationFiltering(AuthorizationFilter.java:79)
at org.bonitasoft.console.common.server.login.filter.AuthorizationFilter.doFilter(AuthorizationFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.sso.filter.InternalSSOFilter.doFilter(InternalSSOFilter.java:103)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.SecurityFilter.doFilter(SecurityFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.bonitasoft.console.common.server.login.filter.NoCacheFilter.doFilter(NoCacheFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
at < ========== Beginning of the server stack trace ========== >. ( )
at java.lang.StringBuilder.
2014-11-12 16:15:26 org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/bonita].[jsp] FINE: Disabling the response for futher output
First of all Java 8 is not yet supported and there are known issues with it (at least for Bonita Studio, not sure about Bonita Portal and Bonita Engine).
Tomcat 7 is officially supported and I personally did several successful installations with it.
About MySQL, there are known issues with the management of XA transactions by MySQL engine and driver: see MySQL bugs 17343 and 12161 for more details. Thus, using MySQL database in a production environment is not recommended. Our recommendation is to use another database like PostgreSQL.
Still it should be possible to successfully start Bonita with MySQL. Can you please try to:
- Shutdown Tomcat server
- Delete all logs files
- Use a clean version of Bonita home with proper settings
- Try to start again
- Share the full content of bonita and catalina log files (using a online service such as Dropbox or Google Drive)
Note that the warning about the missing platform
table is a false positive. In fact, on first startup, Engine will check if table exist. If not it will initialize the database (create all tables) and also initialize Bonita home folder.
I can also recommend to check the following point if tables are not created in Database:
- Verify that the
db.vendor
property is set tomysql
. More details are available in official documentation. - Check that the JDBC driver for your database is added to Tomcat lib folder
- Make sure that data source configuration point to your database (IP address) with proper JDBC driver class name
- You can remove h2 files to make sure that the default h2 database is not used anymore
Thank you very much guys. Seems I should try with JAVA7, tomcat7 and PostgreSQL as a combination.
A quick question: Is there any recommended version of PostgreSQL?
Comments
I use the latest - the drivers (connectors) all seem to work regardless of version.
Sean
I would recommend to use the latest version of PostgreSQL 9.3 branch. For the JDBC driver, as explain on the dedicated web site you should get the latest version that is backward compatible with previous version of PostgreSQL.
Thanks for the notification, I fixed the link: http://documentation.bonitasoft.com/product-bos-sp/hardware-and-software...
Comments
Apologies, I was referring to when will Bonita bundles (like Studio and Tomcat Bundle) be provided with Tomcat 7. Not that the Deploy version can be used with Tomcat 7.
Is there any published documentation of installing the Deploy version on Tomcat 7, as I've not seen any as yet or is it the same as Tomcat 6?
However one thing that's missing is "Tomcat 7 is officially supported" from any of the release notes...I've gone back to 6.0.2 and found no mention of Tomcat 7 being supported. Maybe with the next release note?
I've never got it to work, hence my previous answer/question.
Thanks and regards Sean
Documentation focus on Tomcat 6 mainly because all provided bundles are using this version.
Anyway it's possible to deploy Bonita in Tomcat 7 (you can find that Bonita work on Tomcat 7 in the official documentation). Basic steps of such installation is to merge the content of the files provided in deploy bundle for Tomcat 6 with your Tomcat 7 installation. The only difference is that Tomcat configuration file
server.xml
include some minor change between version 6 and 7. So you will need to merge what's inside the deploy bundle with the existing Tomcat 7 file instead of simply replace it.Bundle with Apache Tomcat 7 will come with next Bonita BPM release.
Thanks Antoine, the link you provided though goes to a PreProd documentation site where authorization is required... :)