我正在为我的应用程序创建一系列 Web 服务,并且我需要根据在 Web 服务调用中作为参数传递的 serviceCode 访问不同的数据库。
我用tomcat设置了一个基本资源来访问这样的数据库
<Resource name="jdbc/db_name" auth="Container" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000"
username="user" password="pass" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://server_ip:3306/db_name"/>
但是通过这种方式,我必须为我在服务器上创建的每个数据库设置一个资源,我想要什么,我没有找到信息(或不明白),是能够将 db_name 设置为一个变量在运行时从 web 服务传递,所以基本上只有一个资源并动态使用它,而不是为每个数据库都拥有一个资源(这将需要我每次创建新数据库时启动服务器以更改 context.xml)
我像这样使用scalaquery访问资源
val db = Database.forDataSource(datasource("jdbc/db_name"))
这就是我希望能够动态地传递 db_name 或在运行时定义资源的地方,是否有使用 tomcat/scala 的替代方法,或者我每次都被迫添加资源?