Grails4未连接到所有数据源
我正在将我们的Grails2.5应用程序升级到Grails4.0.3。无法将数据源连接到数据库。我们定义了多个数据源,我从GORM文档中复制了配置。My application.yml文件当前看起来像Grails4未连接到所有数据源,grails,groovy,gorm,Grails,Groovy,Gorm,我正在将我们的Grails2.5应用程序升级到Grails4.0.3。无法将数据源连接到数据库。我们定义了多个数据源,我从GORM文档中复制了配置。My application.yml文件当前看起来像 dataSource: pooled: true jmxExport: true driverClassName: com.mysql.cj.jdbc.Driver username: secret password: secret dbCreate
dataSource:
pooled: true
jmxExport: true
driverClassName: com.mysql.cj.jdbc.Driver
username: secret
password: secret
dbCreate: none
url: local url here
properties:
jmxEnabled: true
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: ConnectionState
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED
dataSources:
foo:
url: foo url
bar:
url: bar url
baz:
url: baz url
当我尝试启动应用程序时,我看到了与默认数据源和我的foo数据源的连接,但没有看到foo之后的任何连接。我希望看到酒吧和巴兹的连接
这里有什么我应该做的不同的事情吗,或者是其他一些可以引起这种情况的事情吗
编辑
我已经尝试更改数据源块的顺序,它总是连接到该块中列出的第一个数据源
我所有数据源之间的唯一区别是url
编辑2
我能够从头开始创建一个新的应用程序,并将数据源复制到application.yml中,然后开始工作
编辑3
我在新的测试应用程序中添加了定义所有域类的插件。我现在在这个测试应用程序中看到了相同的行为。知道是什么导致了域类的这种情况吗
编辑4(解决方案)
我首先将插件的代码复制到一个新的grails应用程序中。然后删除域类,直到我找到了罪魁祸首,其中一个类上的唯一约束不起作用!继承层次结构是一个奇怪的例子,如果我有机会,我会写一个简单的演示,看看是否可以重现这个问题。我更改了唯一约束,并能够启动应用程序。假设所有4个数据源(
dataSource
、foo
、bar
、和baz
)都共享除url之外的所有相同设置,您在那里看到的看起来是正确的。有趣的是,foo
起作用了。如果您更改了配置文件中的顺序,并且删除了foo
其他URL中的一个是否可以正常工作,那么知道这一点很有意思。另一个信息是,这些URL是否共享一个驱动程序类。是的,它们都是MySQL数据源。是的,我试过改变数据源的顺序,它总是第一个连接的。我不明白这是怎么回事,但我相信你。如果您使用演示该问题的示例应用程序在提交问题,我们可以进行调查。谢谢您的反馈。@JeffScottBrown刚刚从头开始尝试了一个全新的Grails 4.0.3应用程序,并粘贴到了我的数据源中。Thtatworks和我可以看到数据库级别的所有连接。必须在旧代码中保留一些会弄乱某些内容的内容。假设所有4个数据源(dataSource
、foo
、bar
、和baz
)都共享除url之外的所有相同设置,那么您所拥有的内容看起来是正确的。有趣的是,foo
起作用了。如果您更改了配置文件中的顺序,并且删除了foo
其他URL中的一个是否可以正常工作,那么知道这一点很有意思。另一个信息是,这些URL是否共享一个驱动程序类。是的,它们都是MySQL数据源。是的,我试过改变数据源的顺序,它总是第一个连接的。我不明白这是怎么回事,但我相信你。如果您使用演示该问题的示例应用程序在提交问题,我们可以进行调查。谢谢您的反馈。@JeffScottBrown刚刚从头开始尝试了一个全新的Grails 4.0.3应用程序,并粘贴到了我的数据源中。Thtatworks和我可以看到数据库级别的所有连接。一定是旧代码中有什么东西弄乱了。