Start a new topic
Answered

How to configure the scheduler for Sql Server database ? (having a specific schema name (not dbo))

Hello,


I try to use SQL Server as a scheduler for my runtime.


But when I start my runtime I encountered this issue.

 


Best Answer

Hello,


The error occure without specifying the schema name in the tablePrefix parameter. 


You should add the schema to the tablePrefix. 


Can you try the same solution.

Here is my working example : 

#============================================================================
# Configure Main Scheduler Properties
#============================================================================

org.quartz.scheduler.instanceName = RUNTIME_H2_STD
org.quartz.scheduler.instanceId = RUNTIME_H2_STD

#============================================================================
# Configure ThreadPool
#============================================================================

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 50
org.quartz.threadPool.threadPriority = 5

#============================================================================
# Configure JobStore
#============================================================================

org.quartz.jobStore.misfireThreshold = 60000

#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
org.quartz.jobStore.useProperties=false
#org.quartz.jobStore.dataSource=internal
org.quartz.jobStore.dataSource=database01
org.quartz.jobStore.tablePrefix=scheduler01.STB_
org.quartz.jobStore.isClustered=false

org.quartz.jobStore.selectWithLockSQL=SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
org.quartz.jobStore.lockHandler.class = org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore
org.quartz.jobStore.acquireTriggersWithinLock = true


#============================================================================
# Configure Datasources
#============================================================================

org.quartz.dataSource.database01.driver =com.microsoft.sqlserver.jdbc.SQLServerDriver
org.quartz.dataSource.database01.URL = jdbc:sqlserver://STAMBIA-TBL;instanceName=MSSQLSERVER;databaseName=support01;sendStringParametersAsUnicode=false
org.quartz.dataSource.database01.user =*******
org.quartz.dataSource.database01.password =**********
org.quartz.dataSource.database01.provider=hikaricp
org.quartz.dataSource.database01.maxConnections = 5
org.quartz.dataSource.database01.validationQuery=
org.quartz.dataSource.database01.module = Microsoft SQL Server
#============================================================================

Answer

Hello,


The error occure without specifying the schema name in the tablePrefix parameter. 


You should add the schema to the tablePrefix. 


Can you try the same solution.

Here is my working example : 

#============================================================================
# Configure Main Scheduler Properties
#============================================================================

org.quartz.scheduler.instanceName = RUNTIME_H2_STD
org.quartz.scheduler.instanceId = RUNTIME_H2_STD

#============================================================================
# Configure ThreadPool
#============================================================================

org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 50
org.quartz.threadPool.threadPriority = 5

#============================================================================
# Configure JobStore
#============================================================================

org.quartz.jobStore.misfireThreshold = 60000

#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore

org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.MSSQLDelegate
org.quartz.jobStore.useProperties=false
#org.quartz.jobStore.dataSource=internal
org.quartz.jobStore.dataSource=database01
org.quartz.jobStore.tablePrefix=scheduler01.STB_
org.quartz.jobStore.isClustered=false

org.quartz.jobStore.selectWithLockSQL=SELECT * FROM {0}LOCKS UPDLOCK WHERE LOCK_NAME = ?
org.quartz.jobStore.lockHandler.class = org.quartz.impl.jdbcjobstore.UpdateLockRowSemaphore
org.quartz.jobStore.acquireTriggersWithinLock = true


#============================================================================
# Configure Datasources
#============================================================================

org.quartz.dataSource.database01.driver =com.microsoft.sqlserver.jdbc.SQLServerDriver
org.quartz.dataSource.database01.URL = jdbc:sqlserver://STAMBIA-TBL;instanceName=MSSQLSERVER;databaseName=support01;sendStringParametersAsUnicode=false
org.quartz.dataSource.database01.user =*******
org.quartz.dataSource.database01.password =**********
org.quartz.dataSource.database01.provider=hikaricp
org.quartz.dataSource.database01.maxConnections = 5
org.quartz.dataSource.database01.validationQuery=
org.quartz.dataSource.database01.module = Microsoft SQL Server
#============================================================================

Hi Audric,

Why you do not have to add 'org.quartz.dataSource.internal.provider' field in your code? 
I am trying to set up with postgresql.

Hello,


You have right I have just updated it.


Here a sample for Postgres :


#============================================================================

# Configure JobStore  

#============================================================================


org.quartz.jobStore.misfireThreshold = 10000


#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore


org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX

org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

org.quartz.jobStore.useProperties=false

org.quartz.jobStore.dataSource=database01

#org.quartz.jobStore.dataSource=database01

org.quartz.jobStore.tablePrefix=STB_

org.quartz.jobStore.isClustered=false


#============================================================================

# Configure Datasources  

#============================================================================


org.quartz.dataSource.database01.driver = org.postgresql.Driver

org.quartz.dataSource.database01.URL = jdbc:postgresql://semarchy-xdi-runtime-backend-database:5432/postgres

org.quartz.dataSource.database01.user = postgres

org.quartz.dataSource.database01.password = postgres

org.quartz.dataSource.database01.connectionProvider.class= hikaricp

org.quartz.dataSource.database01.maxConnections = 5

org.quartz.dataSource.database01.validationQuery=

org.quartz.dataSource.database01.module = BACKEND-DATABASE

Thanks for your rep,

I applied your config but it still does not work.

This is my configure scheduler config: 


#============================================================================

# Configure Main Scheduler Properties

#============================================================================


org.quartz.scheduler.instanceName = XDI_RUNTIME_SCHEDULER

org.quartz.scheduler.instanceId = XDI_RUNTIME_SCHEDULER


#============================================================================

# Configure ThreadPool

#============================================================================


org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool

org.quartz.threadPool.threadCount = 50

org.quartz.threadPool.threadPriority = 5


#============================================================================

# Configure JobStore

#============================================================================


org.quartz.jobStore.misfireThreshold = 10000


#org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore


org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX

org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate

org.quartz.jobStore.useProperties=false

org.quartz.jobStore.dataSource=database01

org.quartz.jobStore.tablePrefix=STB_

org.quartz.jobStore.isClustered=false


#============================================================================

# Configure Datasources

#============================================================================


org.quartz.dataSource.database01.driver = org.postgresql.Driver

org.quartz.dataSource.database01.URL = jdbc:postgresql://semarchy-xdi-runtime-backend-database:5432/postgres

org.quartz.dataSource.database01.user = postgres

org.quartz.dataSource.database01.password = postgres

org.quartz.dataSource.database01.connectionProvider.class= hikaricp

org.quartz.dataSource.database01.maxConnections = 5

org.quartz.dataSource.database01.validationQuery=

semarchy.xdi.runtime.scheduler.database01.module = PostgreSQL



This is my log:

semarchy-xdi-runtime | 22/05/2023 10:57:22,982 [main] com.indy.engine.main - WARN - 0 : Init : Global->InitInternalRessources : Can't find resource for bundle java.util.PropertyResourceBundle, key VAR_PREFIXE

semarchy-xdi-runtime | 22/05/2023 10:57:22,983 [main] com.indy.engine.main - INFO - 0 : Init : Global->printParametersToDebugLog : 

semarchy-xdi-runtime | --> defaultBatchSize :1000

semarchy-xdi-runtime | --> defaultFetchSize :1000

semarchy-xdi-runtime | --> deliveryExtension :deliv

semarchy-xdi-runtime | --> deliveryFolder :build/deliveries

semarchy-xdi-runtime | --> javaSecurityPolicy :properties/security.policy

semarchy-xdi-runtime | --> memoryLogScanDelay :10000

semarchy-xdi-runtime | --> sessionFolder :/sessions

semarchy-xdi-runtime | --> userLogDefaultName :SESSIONLOG

semarchy-xdi-runtime | Debug informations : 0

semarchy-xdi-runtime | --> logLevel :0

semarchy-xdi-runtime | --> logMode :INFO & DEBUG & ERROR & WARNING

semarchy-xdi-runtime | 22/05/2023 10:57:23,022 [RuntimeMainThread] com.indy.engine.console - INFO - Runtime version: 2023.2.0

semarchy-xdi-runtime | 22/05/2023 10:57:23,022 [RuntimeMainThread] com.indy.engine.console - INFO - Java version: 11.0.18 vendor: Eclipse Adoptium home: /opt/java/openjdk

semarchy-xdi-runtime | 22/05/2023 10:57:23,022 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : Engine Server : main : starting engine

semarchy-xdi-runtime | 22/05/2023 10:57:23,022 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Starting report engine...

semarchy-xdi-runtime | 22/05/2023 10:57:23,091 [RuntimeMainThread] com.zaxxer.hikari.util.DriverDataSource - WARN - Registered driver with driverClassName=org.postgresql.Driver was not found, trying direct instantiation.

semarchy-xdi-runtime | 22/05/2023 10:57:23,268 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Report engine started

semarchy-xdi-runtime | 22/05/2023 10:57:23,268 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Engine Started !

semarchy-xdi-runtime | 22/05/2023 10:57:23,283 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Starting scheduler...

semarchy-xdi-runtime | 22/05/2023 10:57:23,320 [RuntimeMainThread] com.indy.engine.EngineStartI - ERROR - An error occured during runtime startup

semarchy-xdi-runtime | org.quartz.SchedulerException: ConnectionProvider class 'hikaricp' could not be instantiated. [See nested exception: java.lang.ClassNotFoundException: hikaricp]

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:948)

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1579)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.startSchedulerThread(EngineSchedulerI.java:204)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.doStart(EngineSchedulerI.java:1081)

semarchy-xdi-runtime | at com.indy.engine.service.Service._start(Service.java:38)

semarchy-xdi-runtime | at com.indy.engine.service.Service.start(Service.java:47)

semarchy-xdi-runtime | at com.indy.engine.service.ServiceManager.startService(ServiceManager.java:65)

semarchy-xdi-runtime | at com.indy.engine.EngineStartI.main(EngineStartI.java:202)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

semarchy-xdi-runtime | at java.base/java.lang.reflect.Method.invoke(Method.java:566)

semarchy-xdi-runtime | at com.indy.engine.launcher.MainLauncher.main(MainLauncher.java:69)

semarchy-xdi-runtime | Caused by: java.lang.ClassNotFoundException: hikaricp

semarchy-xdi-runtime | at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)

semarchy-xdi-runtime | at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)

semarchy-xdi-runtime | at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

semarchy-xdi-runtime | at org.quartz.simpl.InitThreadContextClassLoadHelper.loadClass(InitThreadContextClassLoadHelper.java:72)

semarchy-xdi-runtime | at org.quartz.simpl.CascadingClassLoadHelper.loadClass(CascadingClassLoadHelper.java:114)

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:946)

semarchy-xdi-runtime | ... 12 more

semarchy-xdi-runtime | Exception in thread "RuntimeMainThread" java.lang.reflect.InvocationTargetException

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

semarchy-xdi-runtime | at java.base/java.lang.reflect.Method.invoke(Method.java:566)

semarchy-xdi-runtime | at com.indy.engine.launcher.MainLauncher.main(MainLauncher.java:69)

semarchy-xdi-runtime | Caused by: org.quartz.SchedulerException: ConnectionProvider class 'hikaricp' could not be instantiated. [See nested exception: java.lang.ClassNotFoundException: hikaricp]

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:948)

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1579)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.startSchedulerThread(EngineSchedulerI.java:204)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.doStart(EngineSchedulerI.java:1081)

semarchy-xdi-runtime | at com.indy.engine.service.Service._start(Service.java:38)

semarchy-xdi-runtime | at com.indy.engine.service.Service.start(Service.java:47)

semarchy-xdi-runtime | at com.indy.engine.service.ServiceManager.startService(ServiceManager.java:65)

semarchy-xdi-runtime | at com.indy.engine.EngineStartI.main(EngineStartI.java:202)

semarchy-xdi-runtime | ... 5 more

semarchy-xdi-runtime | Caused by: java.lang.ClassNotFoundException: hikaricp

semarchy-xdi-runtime | at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:476)

semarchy-xdi-runtime | at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:589)

semarchy-xdi-runtime | at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)

semarchy-xdi-runtime | at org.quartz.simpl.InitThreadContextClassLoadHelper.loadClass(InitThreadContextClassLoadHelper.java:72)

semarchy-xdi-runtime | at org.quartz.simpl.CascadingClassLoadHelper.loadClass(CascadingClassLoadHelper.java:114)

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:946)

semarchy-xdi-runtime | ... 12 more

Have you try to replace hikaricp by com.indy.engine.scheduler.XdiQuartzConnectionProvider

Be sure to have all jar needed in your runtime module folder for Postgres :


I'm very sure that I installed jar file. This is my folder structure:

image

And this is my log when replace hikaricp by com.indy.engine.scheduler.XdiQuartzConnectionProvider:


semarchy-xdi-runtime | 22/05/2023 13:59:57,474 [RuntimeMainThread] com.indy.engine.EngineStartI - ERROR - An error occured during runtime startup

semarchy-xdi-runtime | org.quartz.SchedulerException: ConnectionProvider class 'com.indy.engine.scheduler.XdiQuartzConnectionProvider' could not be instantiated. [See nested exception: java.lang.ClassNotFoundException: com.indy.engine.scheduler.XdiQuartzConnectionProvider]

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:948)

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1579)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.startSchedulerThread(EngineSchedulerI.java:204)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.doStart(EngineSchedulerI.java:1081)

semarchy-xdi-runtime | at com.indy.engine.service.Service._start(Service.java:38)

semarchy-xdi-runtime | at com.indy.engine.service.Service.start(Service.java:47)

semarchy-xdi-runtime | at com.indy.engine.service.ServiceManager.startService(ServiceManager.java:65)

semarchy-xdi-runtime | at com.indy.engine.EngineStartI.main(EngineStartI.java:202)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

semarchy-xdi-runtime | at java.base/java.lang.reflect.Method.invoke(Method.java:566)

semarchy-xdi-runtime | at com.indy.engine.launcher.MainLauncher.main(MainLauncher.java:69)

semarchy-xdi-runtime | Caused by: java.lang.ClassNotFoundException: com.indy.engine.scheduler.XdiQuartzConnectionProvider


With my logs, I think it connects successfully to DB. It was crashed because can not find provider class:

This is a part of my logs:

semarchy-xdi-runtime | 22/05/2023 13:59:57,211 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_ASP_010 ON public.STB_LOG_ACTION_SPROP_ASP (DLV_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,217 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_ASP_020 ON public.STB_LOG_ACTION_SPROP_ASP (ACT_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,224 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_ACT_010 ON public.STB_LOG_ACTION_ACT (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,234 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_ACT_020 ON public.STB_LOG_ACTION_ACT (ACT_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,239 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_S_ACT_010 ON public.STB_LOG_ACTION_S_ACT (DLV_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,245 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_S_ACT_020 ON public.STB_LOG_ACTION_S_ACT (ACT_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,251 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_AST_010 ON public.STB_LOG_ACTION_STAT_AST (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,256 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_PST_010 ON public.STB_LOG_PROCESS_STAT_PST (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,261 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_SST_010 ON public.STB_LOG_SESSION_STAT_SST (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,267 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_SESS_030 ON public.STB_LOG_SESSION_SESS (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,273 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG ALTER TABLE public.STB_LOG_SESSION_SESS ADD SESS_LAST_TSTAMP numeric(20)

semarchy-xdi-runtime | 22/05/2023 13:59:57,276 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG ALTER TABLE public.STB_LOG_SESSION_SESS ADD SESS_INACT_TIMEOUT numeric(8)

semarchy-xdi-runtime | 22/05/2023 13:59:57,279 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG update public.STB_LOG_VERSION_V SET V_VERSION ='1.7.0.0',V_UPD_DATE ='2023/05/22 13:59:57.279'

semarchy-xdi-runtime | 22/05/2023 13:59:57,281 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_LNK_010 ON public.STB_LOG_LINK_LNK (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,286 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_AAI_010 ON public.STB_LOG_ACTION_ALTID_AAI (DLV_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,296 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_CSES_010 ON public.STB_LOG_SESSION_CHILDS_CSES (SESS_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,302 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG CREATE INDEX IDX_CSES_020 ON public.STB_LOG_SESSION_CHILDS_CSES (CSES_ID

semarchy-xdi-runtime | )

semarchy-xdi-runtime | 22/05/2023 13:59:57,307 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG update public.STB_LOG_VERSION_V SET V_VERSION ='1.7.0.8',V_UPD_DATE ='2023/05/22 13:59:57.307'

semarchy-xdi-runtime | 22/05/2023 13:59:57,308 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG ALTER TABLE public.STB_LOG_DELIVERY_DLV ADD PCK_ID varchar(50)

semarchy-xdi-runtime | 22/05/2023 13:59:57,311 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG update public.STB_LOG_VERSION_V SET V_VERSION ='1.7.0.9',V_UPD_DATE ='2023/05/22 13:59:57.311'

semarchy-xdi-runtime | 22/05/2023 13:59:57,313 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG ALTER TABLE public.STB_LOG_SESSION_SESS ADD SESS_LAUNCH_USER varchar(255)

semarchy-xdi-runtime | 22/05/2023 13:59:57,316 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG update public.STB_LOG_VERSION_V SET V_VERSION ='1.7.4.0',V_UPD_DATE ='2023/05/22 13:59:57.316'

semarchy-xdi-runtime | 22/05/2023 13:59:57,317 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG ALTER TABLE public.STB_LOG_DELIVERY_DLV ADD CHECKSUM varchar(255)

semarchy-xdi-runtime | 22/05/2023 13:59:57,321 [RuntimeMainThread] com.indy.engine.rdbmsLog - INFO - STBLOG update public.STB_LOG_VERSION_V SET V_VERSION ='1.7.5.8',V_UPD_DATE ='2023/05/22 13:59:57.320'

semarchy-xdi-runtime | 22/05/2023 13:59:57,322 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Report engine started

semarchy-xdi-runtime | 22/05/2023 13:59:57,324 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Engine Started !

semarchy-xdi-runtime | 22/05/2023 13:59:57,375 [RuntimeMainThread] com.indy.engine.main - INFO - 0 : EngineServerI() : Starting scheduler...

semarchy-xdi-runtime | 22/05/2023 13:59:57,474 [RuntimeMainThread] com.indy.engine.EngineStartI - ERROR - An error occured during runtime startup

semarchy-xdi-runtime | org.quartz.SchedulerException: ConnectionProvider class 'com.indy.engine.scheduler.XdiQuartzConnectionProvider' could not be instantiated. [See nested exception: java.lang.ClassNotFoundException: com.indy.engine.scheduler.XdiQuartzConnectionProvider]

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.instantiate(StdSchedulerFactory.java:948)

semarchy-xdi-runtime | at org.quartz.impl.StdSchedulerFactory.getScheduler(StdSchedulerFactory.java:1579)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.startSchedulerThread(EngineSchedulerI.java:204)

semarchy-xdi-runtime | at com.indy.engine.scheduler.EngineSchedulerI.doStart(EngineSchedulerI.java:1081)

semarchy-xdi-runtime | at com.indy.engine.service.Service._start(Service.java:38)

semarchy-xdi-runtime | at com.indy.engine.service.Service.start(Service.java:47)

semarchy-xdi-runtime | at com.indy.engine.service.ServiceManager.startService(ServiceManager.java:65)

semarchy-xdi-runtime | at com.indy.engine.EngineStartI.main(EngineStartI.java:202)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

semarchy-xdi-runtime | at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

semarchy-xdi-runtime | at java.base/java.lang.reflect.Method.invoke(Method.java:566)

semarchy-xdi-runtime | at com.indy.engine.launcher.MainLauncher.main(MainLauncher.java:69)

semarchy-xdi-runtime | Caused by: java.lang.ClassNotFoundException: com.indy.engine.scheduler.XdiQuartzConnectionProvider

I changed every "database01" to "internal" => then everything seems good.

Hello,


It's a good news.


Yes the datasource name should be used in datasource configuration.


Yes, that's right. Thank you for your help.

Hello,


I think it would be really useful and important to add the version of Semarchy xDi we're talking about for this kind of topic. The information in this discussion is misleading because the parameters have changed since version 2023.1.3 at first sight and maybe before ?


In 2023.1.2 sample file :

image


But in 2023.1.5 sample file :

image


We can see that module and providers parameter have been modified and we could find information here and here.

In changelog, it seems that module and provider have been modified with 2023.1 (first link : "Noticeable Changes" of the page about "xDI 2023.1 Release Notes") but in the second link it seems to have been modified in 2023.1.3 to correct a bug. It's a little bite misleading.

Maybe it's useful to also add in "Noticeable Changes" version information if it is not an initial modification and it also could be useful to indicate in changelog that's also applied to Microsoft SQL Server (our case).


In our case, in 2023.1.2, we had the error "the schedules are not started, with the error "org.quartz.JobExecutionException: java.lang.RuntimeException: Missing SPI com.indy.engine.LocalService"." but with SQL Server and only for the Purge schedule.



To conclude, for 2023.1.5, be carefull and well apply this 2 modifications (module and provider) and for others versions, I'm not sure then test :).


Best regards.
Benjamin

Login to post a comment