我在我的一个项目中使用ActiveJDBC,今天我遇到了一个严重的问题。
对我的应用程序的并发请求将失败,因为ActiveJDBC试图从同名为"default“的池中获得多个连接。
似乎有可能用不同的名称打开连接,所以不要写:
Base.open(JNDI_NAME)
有人会写:
new DB("someRandomName").open(JNDI_NAME);
但是..。当试图从数据库获取一些数据时,存在一个问题: ActiveJDBC搜索连接"default“(或模型类中的@DbName注释)--据我所知,这个概念用于处理多个数据库(而不是多个连接)。
我真的不想替换ActiveJDBC,因为已经编写了数千行代码--有什么想法吗?
发布于 2012-05-07 16:27:22
)在代码中,您有:
new DB("someRandomName").open(JNDI_NAME);..but传递给类DB 的构造函数的字符串不是一些随机字符串,也不是JNDI名称。它是数据库的逻辑名称。您正确地猜测,这与对多个数据库访问的访问有关。下面是解释这个问题的文档:管理#多数据库-示例
如果系统中只有一个数据库,甚至不需要类DB,只需使用Base:http://javalite.github.io/activejdbc/snapshot/org/javalite/activejdbc/Base.html,它将确保数据库连接具有“默认”名称--这是您的模型所期望的
干杯
https://stackoverflow.com/questions/10484051
复制相似问题