cancel
Showing results for 
Search instead for 
Did you mean: 

IOTMMS service cannot start

Former Member
0 Kudos

Hi,

I have followed  part 1-SAP HCP IoT Part 1 to create an iot service.

It successfully ran through and I can store data in the table.

But after I changed the binding in following steps, it cannot start.

I created a new Database of HANA MDC(<trail>) to bind with iotmms, which was originally bound to the default DB of HANA(<shared>).

I deleted the original binding with HANA(<shared>).

However, currently, iotmms cannot start. Do I miss any prerequisite steps of changing binding?

Here is the log information:

2016 07 29 07:23:55#+00#ERROR#org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/com.sap.iotservices.mms]##anonymous#localhost-startStop-1#na#i308418trial#iotmms#web##Exception sending context destroyed event to listener instance of class com.sap.iotservices.mms.AppContextListenerjava.lang.NoClassDefFoundError: com/sap/iotservices/mms/config/Configuration$ConfigurationHolder : cannot initialize class because prior initialization attempt failed at com.sap.iotservices.mms.config.Configuration.getInstance(Configuration.java:220) at com.sap.iotservices.mms.MessageStore.<init>(MessageStore.java:70) at com.sap.iotservices.mms.MessageStore.<clinit>(MessageStore.java:66) at com.sap.iotservices.mms.AppContextListener.destroy(AppContextListener.java:187) at com.sap.iotservices.mms.api.BaseAppContextListener.contextDestroyed(BaseAppContextListener.java:27) at org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:5146) at org.apache.catalina.core.StandardContext.stopInternal(StandardContext.java:5810) at org.apache.catalina.util.LifecycleBase.stop(LifecycleBase.java:224) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:159) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:899) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:875) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1092) at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1984) 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:812) Caused by: com.sap.iotservices.mms.exception.InitializationError: Failed to retrieve DB connection from HCP Persistence Service. Please check if you specified a valid data source binding for MMS in the HCP Cockpit. at com.sap.iotservices.mms.processing.sql.SqlPersistenceService.initSqlProvider(SqlPersistenceService.java:82) at com.sap.iotservices.mms.processing.sql.SqlPersistenceService.<clinit>(SqlPersistenceService.java:19) at com.sap.iotservices.mms.config.ConfigurationDbManager.<init>(ConfigurationDbManager.java:48) at com.sap.iotservices.mms.config.Configuration.<init>(Configuration.java:124) at com.sap.iotservices.mms.config.Configuration.<init>(Configuration.java:46) at com.sap.iotservices.mms.config.Configuration$ConfigurationHolder.<clinit>(Configuration.java:216) at com.sap.iotservices.mms.config.Configuration.getInstance(Configuration.java:220) at com.sap.iotservices.mms.api.BaseAppContextListener.registerConfiguration(BaseAppContextListener.java:73) at com.sap.iotservices.mms.api.BaseAppContextListener.contextInitialized(BaseAppContextListener.java:21) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5615) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147) ... 10 common frames omitted Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null' at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1452) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1371) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) at com.sap.iotservices.mms.processing.sql.SqlPersistenceService.initSqlProvider(SqlPersistenceService.java:76) ... 21 common frames omitted Caused by: java.sql.SQLException: No suitable driver at java.sql.DriverManager.getDriver(DriverManager.java:315) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1437) ... 24 common frames omitted


Thanks,

Yuling

Accepted Solutions (1)

Accepted Solutions (1)

anton_levin
Advisor
Advisor
0 Kudos

Hello Yuling,

can you please in your HCP account go to Applications -> Java Applications -> iotmms -> Configuration -> Data Source Bindings and check if you have an error message shown there saying something like "..Exception in getBindingList()"?

Regards,

Anton

Former Member
0 Kudos

Hello Anton,

Thank you for responding!

There is no "..Exception in getBindingList()" message.

Besides, the status of DB HANA MDC(<trail>) is "STARTED".

BR,

Yuling

anton_levin
Advisor
Advisor
0 Kudos

Can you please make a screenshot of the Data Source Binding screen for me?

Former Member
0 Kudos

Hello Anton,

please find the screenshots below:

BR, Yuling

anton_levin
Advisor
Advisor
Former Member
0 Kudos

Hello Anton,

The first snapshot in my last reply is from Data Source Bindings for iotmms -

https://account.hanatrial.ondemand.com/cockpit#/acc/%YOUR_ACC_ID%/app/iotmms/bindings

BR, Yuling

anton_levin
Advisor
Advisor
0 Kudos

No, those are bindings for your MDC system. Click on iotmms there.

Former Member
0 Kudos

Hello Anton,

is this one?

anton_levin
Advisor
Advisor
0 Kudos

Yes, now I see the problem. IOTMMS relies on a default binding. You named it iotband. Please, recreate it.

Former Member
0 Kudos

Hello Anton,

Thank you for your help.

But, when I try to create a Database, there seems a bug...

I delete the default DB and I want to create a new one with the default name and with type of "HANA MDC (<trail>)
However, when I filled the "Database ID"  with the default name for iotmms, although, it starts with small letter "i", I always got an error message....

Could you please help to identify what's wrong with this?

BR, Yuling

anton_levin
Advisor
Advisor
0 Kudos

I didn't tell to re-create the MDC instance but the binding to iotmms. Just press on "New Binding" button.

Former Member
0 Kudos

Hi Anton,

I see the Data Source must be set as <DEFAULT>.

Thank you!

Yuling

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Yuling,

I also encounter the same issue at present. However, roughly two weeks ago, the IoT Services application could still work fine under the MDC database. Now, when I want to restart the IoT Services, there is the NoClassDefFoundError shown in the application log. So, I guess maybe there are any changes inner the IoT Services Java Application?

Best Regards,

Ji JING