1

我正在寻找一种方法来提供一个额外的数据源,在使用提供的 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但这似乎在每次嵌入式服务器启动时都会重新生成,因此我添加到该文件的任何更改都将丢失。

我一直在关注本指南: https ://developer.atlassian.com/display/JIRADEV/Plugin+Tutorial+-+Writing+Integration+Tests+for+your+JIRA+plugin

并在 Atlassian 论坛上找到了一个类似的帖子,但仍未解决:http ://forums.atlassian.com/thread.jspa?messageID=257355500&tstart=0

如何配置 JIRA 的嵌入式版本来获取我的数据源?

4

1 回答 1

1

好问题,但我认为在jira开发标签下的answers.atlassian.com上会更好。我知道有人有一个用于集成测试的 MySQL 配置,或者可能只是更改了 JIRA SDK 的配置方式?

于 2012-06-02T22:03:04.957 回答