在使用`JdbcChannelMessageStore`时防止自动创建或删除表

问题描述

我们想使用JdbcChannelMessageStore在我们的应用程序中保留一个持久队列。

但是,spring-integration-jdbc中包含的sql脚本会导致自动创建(和删除?)以下DB对象:

  INT_MESSAGE_IX1 
  INT_CHANNEL_MSG_DATE_IDX 
  INT_CHANNEL_MSG_PRIORITY_IDX 
  INT_MESSAGE 
  INT_MESSAGE_GROUP 
  INT_GROUP_TO_MESSAGE 
  INT_LOCK 
  INT_CHANNEL_MESSAGE 
  INT_MetaDATA_STORE 
  INT_MESSAGE_SEQ 

这不是我们在生产中不会出现的行为。在那里,我们必须控制数据库中发生的一切。

有没有办法阻止这些脚本的加载?

非常感谢您的答复。

解决方法

感谢Gweltaz Niquel,我发现使用内存数据库时,属性spring.jpa.hibernate.ddl-auto默认设置为create-drop。实际上,我在使用H2 DB时看到了这种行为。

对于外部数据库,默认设置为none

enter image description here