Algu�m j� colocou o banco Cloudscape para funcionar com o JBoss
(especificamente JBoss 3.0.0)?
Eu portei todos os exemplos do J2EE Tutorial para o JBoss (depois colocarei
no ar para quem quiser fazer download) e achei que seria mais f�cil usar
configurar os RARs (JCA) do JBoss para usar o Cloudscape que lidar com
eventuais incompatibilidades com o SQL do Hypersonic.
Foi (aparentemente) f�cil. S� precisei mudar duas linhas no
stardardjbosscmp-jdbc.xml para colocar o Cloudscape como banco default para
CMP, copiar cloudclient.jar e RmiJdbc.jar para server/default/lib e criar um
cloudscape-service.xml (usei o do hypersonic como base) e jog�-lo no deploy.
Depois de escrever os jboss.xml para cada aplica��o (e jboss-web.xml e
jboss-cmpjdbc.xml em algumas), criar arquivos users.properties e
roles.properties para autentica��o e autoriza��o via JAAS, consegui fazer
todos os exemplos funcionarem, inclusive o Duke's bank, mas n�o sem mexer no
c�digo (principalmente clientes, para tirar os dom�nios JNDI java:comp/env,
uma vez que o JBoss n�o usa client container). Os exemplos de
relacionamentos com BMP tamb�m n�o funcionaram 100%. Travavam quando um
m�todo transacionado era chamado dentro de outro (alguns s� funcionaram
mesmo quando eu mudei TODOS os elementos <trans-attribute> dos ejb-jar.xml
para NotSupported, o que, obviamente, n�o � o desej�vel.
Os problemas s� ocorram com transa��es nas aplica��es BMP. N�o tive problema
algum com CMP, por enquanto, pois os exemplos s�o simples (vou saber na
semana que vem quando for portar o JPS). O Duke's bank funcionou OK via Web
mas travou na hora de adicionar cliente via sua aplica��o cliente (o banco
informou que n�o conseguiu liberar a lock. Eu troquei todos os
<trans-attribute> de Required para NotSupported e s� assim consegui
adicionar um cliente.
Para mim, parece que ficou faltando alguma coisa na instala��o do Cloudscape
via JCA. Algu�m tem alguma id�ia? Ser� que falta configurar algum MBean,
algum atributo?
Em anexo est� o cloudscape-service.xml que eu criei (quem tiver JBoss 3.0.0
e quiser testar basta colocar os JARs do cloudscape (RmiJdbc.jar s
cloudclient.jar) no lib jogar o arquivo XML anexo no deploy. Se algu�m tiver
interesse, poderei mandar o Duke�s Bank portado para JBoss (ainda n�o 100%).
Tem um buildfile para povoar as tabelas, gerar o EAR e rodar o cliente.
Helder.
<?xml version="1.0" encoding="UTF-8"?>
<!-- ===================================================================== -->
<!-- -->
<!-- JBoss Server Configuration -->
<!-- -->
<!-- ===================================================================== -->
<server>
<!-- ==================================================================== -->
<!-- New ConnectionManager setup for Cloudscape using 2.0.11 driver -->
<!-- Build jmx-api (build/build.sh all) and view for config documentation -->
<!-- ==================================================================== -->
<mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=Cloudscape">
<!-- Include a login module configuration named CloudscapeDBRealm.
Update your login-conf.xml, here is an example for a
ConfiguredIdentityLoginModule:
<application-policy name = "CloudscapeDBRealm">
<authentication>
<login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
<module-option name = "principal">???</module-option>
<module-option name = "userName">guest</module-option>
<module-option name = "password">guest123</module-option>
<module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=CloudscapeDB</module-option>
</login-module>
</authentication>
</application-policy>
NOTE: the application-policy name attribute must match SecurityDomainJndiName, and the
module-option name = "managedConnectionFactoryName"
must match the object name of the ConnectionManager you are configuring here.
-->
<!--uncomment out this line if you are using the CloudscapeDBRealm above -->
<!--attribute name="SecurityDomainJndiName">CloudscapeDBRealm</attribute-->
<!-- -->
<depends optional-attribute-name="ManagedConnectionFactoryName">
<!--embedded mbean-->
<mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=Cloudscape">
<attribute name="JndiName">Cloudscape</attribute>
<attribute name="ManagedConnectionFactoryProperties">
<properties>
<config-property name="ConnectionURL" type="java.lang.String">jdbc:cloudscape:rmi://localhost:1098/CloudscapeDB;create=true</config-property>
<config-property name="DriverClass" type="java.lang.String">COM.cloudscape.core.RmiJdbcDriver</config-property>
<!--set these only if you want only default logins, not through JAAS -->
<config-property name="UserName" type="java.lang.String"></config-property>
<config-property name="Password" type="java.lang.String"></config-property>
</properties>
</attribute>
<!--Below here are advanced properties -->
<!--hack-->
<depends optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployment,name=JBoss LocalTransaction JDBC Wrapper</depends>
</mbean>
</depends>
<depends optional-attribute-name="ManagedConnectionPool">
<!--embedded mbean-->
<mbean code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool" name="jboss.jca:service=LocalTxPool,name=Cloudscape">
<attribute name="MinSize">0</attribute>
<attribute name="MaxSize">50</attribute>
<attribute name="BlockingTimeoutMillis">5000</attribute>
<attribute name="IdleTimeoutMinutes">15</attribute>
<!--criteria indicates if Subject (from security domain) or app supplied
parameters (such as from getConnection(user, pw)) are used to distinguish
connections in the pool. Choices are
ByContainerAndApplication (use both),
ByContainer (use Subject),
ByApplication (use app supplied params only),
ByNothing (all connections are equivalent, usually if adapter supports
reauthentication)-->
<attribute name="Criteria">ByContainer</attribute>
</mbean>
</depends>
<depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>
<depends optional-attribute-name="JaasSecurityManagerService">jboss.security:name=JaasSecurityManager</depends>
<attribute name="TransactionManager">java:/TransactionManager</attribute>
<!--make the rar deploy! hack till better deployment-->
<depends>jboss.jca:service=RARDeployer</depends>
</mbean>
<!--
<mbean code="org.jboss.jdbc.JdbcProvider" name="DefaultDomain:service=JdbcProvider,name=Cloudscape">
<attribute name="Drivers">COM.cloudscape.core.RmiJdbcDriver</attribute>
</mbean>
-->
<!--
<mbean code="org.jboss.jdbc.XADataSourceLoader" name="DefaultDomain:service=XADataSource,name=XACloudscape">
<attribute name="PoolName">XACloudscape</attribute>
<!-attribute name="DataSourceClass">org.jboss.minerva.xa.XADataSourceImpl</attribute->
<attribute name="DataSourceClass">COM.cloudscape.core.RemoteXaDataSource</attribute>
<attribute name="URL">jdbc:cloudscape:rmi://localhost:1098/CloudscapeDB;create=true</attribute>
<attribute name="JDBCUser" />
<attribute name="Password" />
</mbean>
-->
</server>
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para:
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]