2010-10-07 1 views
0

Для моих услуг в производственной среде я всегда устанавливать DB соединения в пул в context.xml Tomcat в:Пул соединений DB в автономной оси2?

<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 автономно - есть способ, каким образом я мог бы создать пул соединений DB в Axis, так что мне не нужно было бы изменять код службы и использовать его так же, как с Tomcat?

ответ

0

Почему бы не иметь разные файлы context.xml для разных сред.

например.

context_DEV.xml 
context_UAT.xml 
context_PROD.xml 

, а затем используйте символическую ссылку, чтобы указать на правильную.

например.

context.xml -> context_DEV.xml 

Кроме того, см this thread, который рекомендует использовать контейнер сервлетов (например, Tomcat), а не ось2 автономный сервер для стабильности.

+0

Это возможно, но моя цель состоит в том, чтобы не использовать Tomcat вообще ... – Laimoncijus

+0

Но Axis работает в контейнере сервлетов, таком как Tomcat, Weblogic, Jetty или WebSphere. Вы не можете запускать его автономно. – dogbane

+0

Если вы загружаете стандартное бинарное распространение, вы можете запустить Axis2 в качестве автономного сервера: http://ws.apache.org/axis2/1_3/installationguide.html#standalone – Laimoncijus