我正在寻找一种提供额外数据源的方法,这些数据源将在使用提供的JIRA插件SDK执行集成测试时获取。
目前,我的插件通过以下方式配置Tomcat来访问我定义的JDBC数据库:
添加到server.xml:
<Resource auth="Container"
driverClassName="net.sourceforge.jtds.jdbc.Driver"
maxActive="20"
name="jdbc/myDS"
password="password"
type="javax.sql.DataSource"
url="jdbc:jtds:sqlserver://sqlserver:/database"
username="username"/>
这是web.xml
<resource-ref>
<description>My Datasource</description>
<res-ref-name>jdbc/myDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
从我的插件中,我可以按如下方式访问数据库
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myDS");
这个方法在使用JIRA的独立实例时工作正常,但是我使用提供的atlas-integration-test
运行的集成测试启动了JIRA的嵌入式版本,而这是嵌入式版本我无法配置使用额外的数据源。
我找到了我认为需要将资源添加到entityengine.xml
的文件,但是每次嵌入式服务器启动时都会重新生成该文件,因此我添加到此文件的任何更改都将丢失。
并且在Atlassian论坛上发现了一个类似的主题仍未解决:http://forums.atlassian.com/thread.jspa?messageID=257355500&tstart=0
如何配置嵌入式JIRA版本来获取数据源?
答案 0 :(得分:1)
很好的问题,但我认为在jira开发标签下的answers.atlassian.com上会更好。我知道有人有MySQL配置用于集成测试,或者只是改变了JIRA SDK的配置方式?