sobota, stycznia 23, 2010

Database-bc z OpenESB w ServiceMix-ie

Z zainstalowanego OpenESB potrzebujemy następujące pliki, które umieścimy w katalogu smx3.3/lib/optional: commons-logging-1.1.jar, grizzly-1.0.17.jar, httpbc-ext.jar, javaee.jar, javaws-rt-2.1.2, saaj-impl-1.3.jar, sjsxp-1.0.jar, stax-ex-1.0.jar, streambuffer-0.4.jar.

Do hotdeploy wrzucimy databasebc.jar i httpbc.jar. Demo usługi jest tutaj.

W servicemix.xml dodajemy wpis import resource z classpath o nazwie ds.xml, a tam już definicję DataSource-a:

<bean id="oraEAIDataSource" class="oracle.jdbc.xdriver.OracleDataSource" destroy-method="close">  
<property name="driverType" value="thin"/>
<property name="networkProtocol" value="tcp"/>
<property name="serverName" value="localhost"/>
<property name="portNumber" value="1521"/>
<property name="serviceName" value="EAI"/>
<property name="user" value="soatest"/>
<property name="password" value="soatest"/>
<property name="connectionCachingEnabled" value="true"/>
</bean>

Trzeba pamiętać o dodaniu wpisu JNDI w jndi.xml.

Dlaczego DataSource pochodzi z Oracle XDrivera? Bo Sun w OpenESB nie wspiera oryginalnego sterownika oracle-owego i nie zamierza wspierać. Database-bc i komponenty design-time NetBeansa (dawny SOA Pack) napisane są tak celowo, żeby OpenESB nie nadawało się do zastosować profesjonalnych i nie próbowało konkurować z produktem Oracle Fusion. OpenESB ma niby otwarty kod, ale Sun nie chce poprawek przystosowujących darmowe ESB do działania z bazą Oracle.

Dokumentacja DBBC jest tutaj.

0 komentarze: