[ 
https://issues.apache.org/jira/browse/ARTEMIS-5789?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ning Kang updated ARTEMIS-5789:
-------------------------------
     Attachment: image-2025-12-03-14-29-57-058.png
    Description: 
Hi, 

We are trying to use SQL Server as the Persistence for HA Shared Storage, and 
got the following issues:

When connecting to the database for the first time, Artemis is trying to create 
tables automatically, and shows the following errors
{code:java}
2025-12-03 12:31:33,847 ERROR 
[org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver]
SQL STATEMENTS:
CREATE TABLE MQ_MESS (ID BIGINT NOT NULL IDENTITY, FILENAME VARCHAR(255), 
EXTENSION VARCHAR(10), DATA VARBINARY(max), PRIMARY KEY(ID))
CREATE INDEX MQ_MESS_IDX ON MQ_MESS (fileName)
SQL EXCEPTIONS:
SQLState: S0001 ErrorCode: 1911 Message: Column name 'fileName' does not exist 
in the target table or view.{code}
When checking the Artemis code 
/activemq-artemis/artemis-jdbc-store/src/main/resources/journal-sql.properties, 
we noticed 2 lines are using lowercase fileName, and all the other lines are 
using uppercase FILENMAE
{code:java}
create-file-index=CREATE INDEX %1$s_IDX ON %1$s (fileName)
select-file-by-filename=SELECT ID, FILENAME, EXTENSION FROM %s WHERE 
fileName=?{code}
So we changed this file (journal-sql.properties) inside 
artemis-jdbc-store-2.44.0.jar, replaced the 2 "filename" with "FILENMAE", and 
we can see all tables have been created in SQL Server now.

However, After the Artemis broker was started up, we saw another error "Invalid 
column name 'id'"
 
{code:java}
2025-12-03 12:54:12,176 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221006: Waiting to obtain primary lock 2025-12-03 12:54:12,256 INFO  
[org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being 
adjusted to 1/2 of the JVM max size (-Xmx). being defined as 25769803776 
2025-12-03 12:54:12,363 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221043: Protocol module found: [artemis-server]. Adding protocol support 
for: CORE 2025-12-03 12:54:12,364 INFO  
[org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
[artemis-amqp-protocol]. Adding protocol support for: AMQP 2025-12-03 
12:54:12,365 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: 
Protocol module found: [artemis-hornetq-protocol]. Adding protocol support for: 
HORNETQ 2025-12-03 12:54:12,365 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221043: Protocol module found: [artemis-mqtt-protocol]. Adding protocol 
support for: MQTT 2025-12-03 12:54:12,366 INFO  
[org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
[artemis-openwire-protocol]. Adding protocol support for: OPENWIRE 2025-12-03 
12:54:12,366 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: 
Protocol module found: [artemis-stomp-protocol]. Adding protocol support for: 
STOMP 2025-12-03 12:54:12,802 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221034: Waiting indefinitely to obtain primary lock 2025-12-03 12:54:12,812 
INFO  [org.apache.activemq.artemis.core.server] AMQ221035: Primary Server 
Obtained primary lock 2025-12-03 12:54:12,886 WARN  
[org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl] Invalid column 
name 'id'. com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 
'id'.         at 
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
         at 
com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1695)
         at 
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:620)
         at 
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:539)
         at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7685) 
        at 
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4048)
         at 
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:272)
         at 
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:246)
         at 
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:457)
         at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
         at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
         at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
         at 
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:832)
         at 
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:916)
         at 
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:905)
         at 
org.apache.activemq.artemis.core.journal.Journal.load(Journal.java:276)         
at 
org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.loadMessageJournal(AbstractJournalStorageManager.java:1038)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.loadJournals(ActiveMQServerImpl.java:3857)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3469)
         at 
org.apache.activemq.artemis.core.server.impl.SharedStorePrimaryActivation.run(SharedStorePrimaryActivation.java:94)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:754)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:644)
         at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:67)    
     at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:132)      
   at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:222) 
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:170)    
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
         at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120)
 2025-12-03 13:03:09,357 ERROR [org.apache.activemq.artemis.core.server] 
AMQ224018: Failed to create session 
org.apache.activemq.artemis.api.core.ActiveMQSessionCreationException: 
AMQ229034: Server not started at 
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQPacketHandler.handleCreateSession(ActiveMQPacketHandler.java:155)
 at 
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQPacketHandler.internalHandler(ActiveMQPacketHandler.java:106)
 at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:32){code}
 
 

Below is the Store settings in broker.xml
{code:java}
        <store>
                <database-store>
                        <data-source-properties>
                                <data-source-property key="driverClassName" 
value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
                                <data-source-property key="url" 
value="jdbc:sqlserver://*********:****;database=***" />
                                <data-source-property key="username" 
value="*******" />
                                <data-source-property key="password" 
value="*********" />
                                <data-source-property 
key="poolPreparedStatements" value="true" />
                        </data-source-properties>
                        <bindings-table-name>MQ_BIND</bindings-table-name>
                        <message-table-name>MQ_MESS</message-table-name>
                        <page-store-table-name>MQ_MESS</page-store-table-name>
                        
<large-message-table-name>MQ_LARG</large-message-table-name>
                        
<node-manager-store-table-name>MQ_NODE</node-manager-store-table-name>
                </database-store>
        </store>{code}
 

And below is the HA Policy settings in broker.xml in master node and slave node

MASTER
{code:java}
        <ha-policy>
            <shared-store>
                    <primary>
                            <failover-on-shutdown>true</failover-on-shutdown>
                    </primary>
            </shared-store>
        </ha-policy>{code}
SLAVE
{code:java}
         <ha-policy>
            <shared-store>
                    <backup>
                            <failover-on-shutdown>true</failover-on-shutdown>
                            <allow-failback>true</allow-failback>
                    </backup>
            </shared-store>
        </ha-policy>{code}
 

And below is the tables created by Artemis in SQL Server

!image-2025-12-03-14-29-57-058.png!

 

Is this a bug from Artemis, or is there any configuration we did not set 
correctly?

Thank you.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  was:
Hi, 

We are trying to use SQL Server as the Persistence for HA Shared Storage, and 
got the following issues:

When connecting to the database for the first time, Artemis is trying to create 
tables automatically, and shows the following errors
{code:java}
2025-12-03 12:31:33,847 ERROR 
[org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver]
SQL STATEMENTS:
CREATE TABLE MQ_MESS (ID BIGINT NOT NULL IDENTITY, FILENAME VARCHAR(255), 
EXTENSION VARCHAR(10), DATA VARBINARY(max), PRIMARY KEY(ID))
CREATE INDEX MQ_MESS_IDX ON MQ_MESS (fileName)
SQL EXCEPTIONS:
SQLState: S0001 ErrorCode: 1911 Message: Column name 'fileName' does not exist 
in the target table or view.{code}
When checking the Artemis code 
/activemq-artemis/artemis-jdbc-store/src/main/resources/journal-sql.properties, 
we noticed 2 lines are using lowercase fileName, and all the other lines are 
using uppercase FILENMAE
{code:java}
create-file-index=CREATE INDEX %1$s_IDX ON %1$s (fileName)
select-file-by-filename=SELECT ID, FILENAME, EXTENSION FROM %s WHERE 
fileName=?{code}
So we changed this file (journal-sql.properties) inside 
artemis-jdbc-store-2.44.0.jar, replaced the 2 "filename" with "FILENMAE", and 
we can see all tables have been created in SQL Server now.

However, After the Artemis broker was started up, we saw another error "Invalid 
column name 'id'"
 
{code:java}
2025-12-03 12:54:12,176 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221006: Waiting to obtain primary lock 2025-12-03 12:54:12,256 INFO  
[org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being 
adjusted to 1/2 of the JVM max size (-Xmx). being defined as 25769803776 
2025-12-03 12:54:12,363 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221043: Protocol module found: [artemis-server]. Adding protocol support 
for: CORE 2025-12-03 12:54:12,364 INFO  
[org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
[artemis-amqp-protocol]. Adding protocol support for: AMQP 2025-12-03 
12:54:12,365 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: 
Protocol module found: [artemis-hornetq-protocol]. Adding protocol support for: 
HORNETQ 2025-12-03 12:54:12,365 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221043: Protocol module found: [artemis-mqtt-protocol]. Adding protocol 
support for: MQTT 2025-12-03 12:54:12,366 INFO  
[org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
[artemis-openwire-protocol]. Adding protocol support for: OPENWIRE 2025-12-03 
12:54:12,366 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: 
Protocol module found: [artemis-stomp-protocol]. Adding protocol support for: 
STOMP 2025-12-03 12:54:12,802 INFO  [org.apache.activemq.artemis.core.server] 
AMQ221034: Waiting indefinitely to obtain primary lock 2025-12-03 12:54:12,812 
INFO  [org.apache.activemq.artemis.core.server] AMQ221035: Primary Server 
Obtained primary lock 2025-12-03 12:54:12,886 WARN  
[org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl] Invalid column 
name 'id'. com.microsoft.sqlserver.jdbc.SQLServerException: Invalid column name 
'id'.         at 
com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
         at 
com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1695)
         at 
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:620)
         at 
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:539)
         at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7685) 
        at 
com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4048)
         at 
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:272)
         at 
com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:246)
         at 
com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:457)
         at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
         at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
         at 
org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
         at 
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:832)
         at 
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:916)
         at 
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:905)
         at 
org.apache.activemq.artemis.core.journal.Journal.load(Journal.java:276)         
at 
org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.loadMessageJournal(AbstractJournalStorageManager.java:1038)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.loadJournals(ActiveMQServerImpl.java:3857)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3469)
         at 
org.apache.activemq.artemis.core.server.impl.SharedStorePrimaryActivation.run(SharedStorePrimaryActivation.java:94)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:754)
         at 
org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:644)
         at 
org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:67)    
     at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:132)      
   at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:222) 
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:170)    
     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)         at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
         at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at 
org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
 at 
org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
 at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
 at 
org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120)
 2025-12-03 13:03:09,357 ERROR [org.apache.activemq.artemis.core.server] 
AMQ224018: Failed to create session 
org.apache.activemq.artemis.api.core.ActiveMQSessionCreationException: 
AMQ229034: Server not started at 
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQPacketHandler.handleCreateSession(ActiveMQPacketHandler.java:155)
 at 
org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQPacketHandler.internalHandler(ActiveMQPacketHandler.java:106)
 at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:32){code}
 
 

Below is the Store settings in broker.xml
{code:java}
        <store>
                <database-store>
                        <data-source-properties>
                                <data-source-property key="driverClassName" 
value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
                                <data-source-property key="url" 
value="jdbc:sqlserver://*********:****;database=***" />
                                <data-source-property key="username" 
value="*******" />
                                <data-source-property key="password" 
value="*********" />
                                <data-source-property 
key="poolPreparedStatements" value="true" />
                        </data-source-properties>
                        <bindings-table-name>MQ_BIND</bindings-table-name>
                        <message-table-name>MQ_MESS</message-table-name>
                        <page-store-table-name>MQ_MESS</page-store-table-name>
                        
<large-message-table-name>MQ_LARG</large-message-table-name>
                        
<node-manager-store-table-name>MQ_NODE</node-manager-store-table-name>
                </database-store>
        </store>{code}
 

And below is the HA Policy settings in broker.xml in master node and slave node

MASTER
{code:java}
        <ha-policy>
            <shared-store>
                    <primary>
                            <failover-on-shutdown>true</failover-on-shutdown>
                    </primary>
            </shared-store>
        </ha-policy>{code}
SLAVE
{code:java}
         <ha-policy>
            <shared-store>
                    <backup>
                            <failover-on-shutdown>true</failover-on-shutdown>
                            <allow-failback>true</allow-failback>
                    </backup>
            </shared-store>
        </ha-policy>{code}
 

Is this a bug from Artemis, or is there any configuration we did not set 
correctly?

Thank you.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


> Artemis SQL SERVER Database Persistence bug 
> --------------------------------------------
>
>                 Key: ARTEMIS-5789
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-5789
>             Project: Artemis
>          Issue Type: Bug
>          Components: ActiveMQ-Artemis-Native
>    Affects Versions: 2.44.0
>         Environment: Red Hat Enterprise Linux 8.10
> openjdk version "17.0.17"
> Artemis 2.44.0
> Microsoft SQL Server 2019 (RTM-CU32-GDR) (KB5068404) - 15.0.4455.2 (X64) 
>  
>            Reporter: Ning Kang
>            Assignee: Clebert Suconic
>            Priority: Major
>         Attachments: image-2025-12-03-14-29-57-058.png
>
>
> Hi, 
> We are trying to use SQL Server as the Persistence for HA Shared Storage, and 
> got the following issues:
> When connecting to the database for the first time, Artemis is trying to 
> create tables automatically, and shows the following errors
> {code:java}
> 2025-12-03 12:31:33,847 ERROR 
> [org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver]
> SQL STATEMENTS:
> CREATE TABLE MQ_MESS (ID BIGINT NOT NULL IDENTITY, FILENAME VARCHAR(255), 
> EXTENSION VARCHAR(10), DATA VARBINARY(max), PRIMARY KEY(ID))
> CREATE INDEX MQ_MESS_IDX ON MQ_MESS (fileName)
> SQL EXCEPTIONS:
> SQLState: S0001 ErrorCode: 1911 Message: Column name 'fileName' does not 
> exist in the target table or view.{code}
> When checking the Artemis code 
> /activemq-artemis/artemis-jdbc-store/src/main/resources/journal-sql.properties,
>  we noticed 2 lines are using lowercase fileName, and all the other lines are 
> using uppercase FILENMAE
> {code:java}
> create-file-index=CREATE INDEX %1$s_IDX ON %1$s (fileName)
> select-file-by-filename=SELECT ID, FILENAME, EXTENSION FROM %s WHERE 
> fileName=?{code}
> So we changed this file (journal-sql.properties) inside 
> artemis-jdbc-store-2.44.0.jar, replaced the 2 "filename" with "FILENMAE", and 
> we can see all tables have been created in SQL Server now.
> However, After the Artemis broker was started up, we saw another error 
> "Invalid column name 'id'"
>  
> {code:java}
> 2025-12-03 12:54:12,176 INFO  [org.apache.activemq.artemis.core.server] 
> AMQ221006: Waiting to obtain primary lock 2025-12-03 12:54:12,256 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221057: Global Max Size is being 
> adjusted to 1/2 of the JVM max size (-Xmx). being defined as 25769803776 
> 2025-12-03 12:54:12,363 INFO  [org.apache.activemq.artemis.core.server] 
> AMQ221043: Protocol module found: [artemis-server]. Adding protocol support 
> for: CORE 2025-12-03 12:54:12,364 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
> [artemis-amqp-protocol]. Adding protocol support for: AMQP 2025-12-03 
> 12:54:12,365 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: 
> Protocol module found: [artemis-hornetq-protocol]. Adding protocol support 
> for: HORNETQ 2025-12-03 12:54:12,365 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
> [artemis-mqtt-protocol]. Adding protocol support for: MQTT 2025-12-03 
> 12:54:12,366 INFO  [org.apache.activemq.artemis.core.server] AMQ221043: 
> Protocol module found: [artemis-openwire-protocol]. Adding protocol support 
> for: OPENWIRE 2025-12-03 12:54:12,366 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221043: Protocol module found: 
> [artemis-stomp-protocol]. Adding protocol support for: STOMP 2025-12-03 
> 12:54:12,802 INFO  [org.apache.activemq.artemis.core.server] AMQ221034: 
> Waiting indefinitely to obtain primary lock 2025-12-03 12:54:12,812 INFO  
> [org.apache.activemq.artemis.core.server] AMQ221035: Primary Server Obtained 
> primary lock 2025-12-03 12:54:12,886 WARN  
> [org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl] Invalid 
> column name 'id'. com.microsoft.sqlserver.jdbc.SQLServerException: Invalid 
> column name 'id'.         at 
> com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:265)
>          at 
> com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1695)
>          at 
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:620)
>          at 
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:539)
>          at 
> com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7685)         
> at 
> com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4048)
>          at 
> com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:272)
>          at 
> com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:246)
>          at 
> com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:457)
>          at 
> org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
>          at 
> org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
>          at 
> org.apache.commons.dbcp2.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:123)
>          at 
> org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:832)
>          at 
> org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:916)
>          at 
> org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl.load(JDBCJournalImpl.java:905)
>          at 
> org.apache.activemq.artemis.core.journal.Journal.load(Journal.java:276)       
>   at 
> org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager.loadMessageJournal(AbstractJournalStorageManager.java:1038)
>          at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.loadJournals(ActiveMQServerImpl.java:3857)
>          at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.initialisePart2(ActiveMQServerImpl.java:3469)
>          at 
> org.apache.activemq.artemis.core.server.impl.SharedStorePrimaryActivation.run(SharedStorePrimaryActivation.java:94)
>          at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.internalStart(ActiveMQServerImpl.java:754)
>          at 
> org.apache.activemq.artemis.core.server.impl.ActiveMQServerImpl.start(ActiveMQServerImpl.java:644)
>          at 
> org.apache.activemq.artemis.integration.FileBroker.start(FileBroker.java:67)  
>        at org.apache.activemq.artemis.cli.commands.Run.execute(Run.java:132)  
>        at 
> org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:222)     
>     at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:170)      
>    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)         at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
>          at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>  at 
> org.apache.activemq.artemis.utils.actors.OrderedExecutor.doTask(OrderedExecutor.java:32)
>  at 
> org.apache.activemq.artemis.utils.actors.ProcessorBase.executePendingTasks(ProcessorBase.java:69)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>  at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>  at 
> org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1.run(ActiveMQThreadFactory.java:120)
>  2025-12-03 13:03:09,357 ERROR [org.apache.activemq.artemis.core.server] 
> AMQ224018: Failed to create session 
> org.apache.activemq.artemis.api.core.ActiveMQSessionCreationException: 
> AMQ229034: Server not started at 
> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQPacketHandler.handleCreateSession(ActiveMQPacketHandler.java:155)
>  at 
> org.apache.activemq.artemis.core.protocol.core.impl.ActiveMQPacketHandler.internalHandler(ActiveMQPacketHandler.java:106)
>  at org.apache.activemq.artemis.utils.actors.Actor.doTask(Actor.java:32){code}
>  
>  
> Below is the Store settings in broker.xml
> {code:java}
>         <store>
>                 <database-store>
>                         <data-source-properties>
>                                 <data-source-property key="driverClassName" 
> value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
>                                 <data-source-property key="url" 
> value="jdbc:sqlserver://*********:****;database=***" />
>                                 <data-source-property key="username" 
> value="*******" />
>                                 <data-source-property key="password" 
> value="*********" />
>                                 <data-source-property 
> key="poolPreparedStatements" value="true" />
>                         </data-source-properties>
>                         <bindings-table-name>MQ_BIND</bindings-table-name>
>                         <message-table-name>MQ_MESS</message-table-name>
>                         <page-store-table-name>MQ_MESS</page-store-table-name>
>                         
> <large-message-table-name>MQ_LARG</large-message-table-name>
>                         
> <node-manager-store-table-name>MQ_NODE</node-manager-store-table-name>
>                 </database-store>
>         </store>{code}
>  
> And below is the HA Policy settings in broker.xml in master node and slave 
> node
> MASTER
> {code:java}
>         <ha-policy>
>             <shared-store>
>                     <primary>
>                             <failover-on-shutdown>true</failover-on-shutdown>
>                     </primary>
>             </shared-store>
>         </ha-policy>{code}
> SLAVE
> {code:java}
>          <ha-policy>
>             <shared-store>
>                     <backup>
>                             <failover-on-shutdown>true</failover-on-shutdown>
>                             <allow-failback>true</allow-failback>
>                     </backup>
>             </shared-store>
>         </ha-policy>{code}
>  
> And below is the tables created by Artemis in SQL Server
> !image-2025-12-03-14-29-57-058.png!
>  
> Is this a bug from Artemis, or is there any configuration we did not set 
> correctly?
> Thank you.
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact



Reply via email to