独立Axis2中的数据库连接池?
对于生产环境中的服务,我总是在 Tomcat 的 context.xml 中设置数据库连接池:
<Resource name="jdbc/MyDB" auth="Container" type="javax.sql.DataSource"
maxActive="256" maxIdle="5" maxWait="10000"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="xxx" password="xxx" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://host:3306/dbname?autoReconnect=true"
validationQuery="SELECT 1"
/>
然后在我的服务中使用:
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDB");
Connection db = ds.getConnection();
对于开发,我想独立运行 Axis2 - 有没有办法可以在 Axis 中的某个地方设置数据库连接池,这样我就不需要修改服务代码并以与 Tomcat 相同的方式使用它?
For my services in production environment I always set up DB connections pool in Tomcat's context.xml
:
<Resource name="jdbc/MyDB" auth="Container" type="javax.sql.DataSource"
maxActive="256" maxIdle="5" maxWait="10000"
removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true"
username="xxx" password="xxx" driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://host:3306/dbname?autoReconnect=true"
validationQuery="SELECT 1"
/>
Then later in my service I use:
InitialContext ctx = new InitialContext();
DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/MyDB");
Connection db = ds.getConnection();
For development I want to run Axis2 standalone - is there a way how I could set up somewhere DB connections pool in Axis as well so I would not need to modify service code and use it the same way as with Tomcat?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
为什么不同的环境不使用不同的 context.xml 文件。
例如
,然后使用符号链接指向正确的符号链接。
例如
,另请参阅此线程,建议使用为了稳定性,使用 servlet 容器(例如 Tomcat)而不是 axis2 独立服务器。
Why not have different context.xml files for different environments.
e.g.
and then use a symlink to point to the correct one.
e.g.
Also, see this thread which recommends using a servlet container (such as Tomcat) rather than axis2 standalone server for stability.