Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Problem when using cloudscape on JBoss

843859May 25 2007
Hi All,

I try to run Petstore 1.3.2 on JBoss 3.2.3. I used a patch for Petstore 1.3.2 to run on JBoss 3.0.1 RC1. I tested, this patch works on 3.0.1 well. Using database cloudscape, provided by j2eesdk 1.3.1.
But it doesnt work in 3.2.3.

link to the patch and doc:
http://docs.huihoo.com/jboss/petstore.html

I changed two things of JBoss 3.2.3:

First, I changed "C:\jboss-3.2.3\server\default\conf\login-config.xml"
add following lines into it:
-----------------------------------------------------------------------------------
Code:

 <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">estoreuser</module-option>
             <module-option name = "password">estore</module-option>
             <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=EstoreDataSource</module-option>
          </login-module>
       </authentication>
    </application-policy>

    <application-policy name = "CloudscapeDbRealmInventory">
       <authentication>
          <login-module code = "org.jboss.resource.security.ConfiguredIdentityLoginModule" flag = "required">
             <module-option name = "principal"></module-option>
             <module-option name = "userName">estoreuser</module-option>
             <module-option name = "password">estore</module-option>
             <module-option name = "managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=InventoryDataSource</module-option>
          </login-module>
       </authentication>
    </application-policy>	
--------------------------------------------------------------------


Second, I copy a file called "cloudscape-service.xml" into "C:\jboss-3.2.3\server\default\deploy"
The content of this file:
---------------------------------------------------------------------------------
<server>

  <mbean code="org.jboss.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=EstoreDataSource">

    <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=EstoreDataSource"> <!--DS-->


        <attribute name="JndiName">EstoreDB</attribute>

        <attribute name="ManagedConnectionFactoryProperties">
          <properties>
            <config-property name="ConnectionURL" type="java.lang.String">jdbc:rmi://localhost:1099/jdbc:cloudscape:EstoreDB;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">estoreuser</config-property>
            <config-property name="Password" type="java.lang.String">estore</config-property>
          </properties>
        </attribute>
        <!--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=EstoreDataSource">

        <attribute name="MinSize">0</attribute>
        <attribute name="MaxSize">50</attribute>
        <attribute name="BlockingTimeoutMillis">5000</attribute>
        <attribute name="IdleTimeoutMinutes">15</attribute>
        <attribute name="Criteria">ByContainer</attribute>
      </mbean>
    </depends>
    <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>

    <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=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.resource.connectionmanager.LocalTxConnectionManager" name="jboss.jca:service=LocalTxCM,name=InventoryDataSource">

    <!--uncomment out this line if you are using the Informix DbRealm above -->
    <attribute name="SecurityDomainJndiName">CloudscapeDbRealmInventory</attribute>
   

    <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->
      <mbean code="org.jboss.resource.connectionmanager.RARDeployment" name="jboss.jca:service=LocalTxDS,name=InventoryDataSource"> <!--DS-->

        <attribute name="JndiName">InventoryDB</attribute>

        <attribute name="ManagedConnectionFactoryProperties">
          <properties>
            <config-property name="ConnectionURL" type="java.lang.String">jdbc:rmi://localhost:1099/jdbc:cloudscape:EstoreDB;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">estoreuser</config-property>
            <config-property name="Password" type="java.lang.String">estore</config-property>
          </properties>
        </attribute>
        <!--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=InventoryDataSource">

        <attribute name="MinSize">0</attribute>
        <attribute name="MaxSize">50</attribute>
        <attribute name="BlockingTimeoutMillis">5000</attribute>
        <attribute name="IdleTimeoutMinutes">15</attribute>
        <attribute name="Criteria">ByContainer</attribute>
      </mbean>
    </depends>
    <depends optional-attribute-name="CachedConnectionManager">jboss.jca:service=CachedConnectionManager</depends>

    <depends optional-attribute-name="JaasSecurityManagerService">jboss.security:service=JaasSecurityManager</depends>

    <attribute name="TransactionManager">java:/TransactionManager</attribute>
    <!--make the rar deploy! hack till better deployment-->
    <depends>jboss.jca:service=RARDeployer</depends>

  </mbean>

</server>
	
---------------------------------------------------------------------------------

(I started cloudscape.)

JBoss 3.2.3 seems has no problem with the modification of "login-config.xml".

However, JBoss 3.2.3 can't deploy "cloudscape-service.xml". It shows error msg when I start it:
--------------------------------------------------------------------------------
12:22:18,140 ERROR [URLDeploymentScanner] MBeanException: Exception in MBean operation 'checkIncompleteDeployments()'
Cause: Incomplete Deployment listing:
Packages waiting for a deployer:

Incompletely deployed packages:

MBeans waiting for classes:

MBeans waiting for other MBeans:
[ObjectName: jboss.jca:service=LocalTxCM,name=EstoreDataSource
state: FAILED
I Depend On: jboss.jca:service=LocalTxDS,name=EstoreDataSource

Depends On Me: org.jboss.deployment.DeploymentException: Exception setting attribute javax.management.Attribute: name=ManagedConnectionFactoryName value=jboss.
jca:service=LocalTxDS,name=EstoreDataSource on mbean jboss.jca:service=LocalTxCM,name=EstoreDataSource; - nested throwable: (javax.management.AttributeNotFoundException: Writable attribute 'ManagedConnectionFactoryName' not found), ObjectName: jboss.jca:service=LocalTxDS,name=EstoreDataSource
state: FAILED
I Depend On:
Depends On Me: jboss.jca:service=LocalTxCM,name=EstoreDataSource
org.jboss.deployment.DeploymentException: No Attribute found with name: JndiName, ObjectName:
jboss.jca:service=LocalTxCM,name=InventoryDataSource
state: FAILED
I Depend On: jboss.jca:service=LocalTxDS,name=InventoryDataSource

Depends On Me: org.jboss.deployment.DeploymentException: Exception setting attribute javax.management.Attribute: name=ManagedConnectionFactoryName value=jboss.
jca:service=LocalTxDS,name=InventoryDataSource on mbean jboss.jca:service=LocalTxCM,name=InventoryDataSource; - nested
throwable: (javax.management.AttributeNotFoundException: Writable attribute 'ManagedConnectionFactoryName' not found), ObjectName: jboss.jca:service=LocalTxDS,name=InventoryDataSource
state: FAILED
I Depend On:
Depends On Me: jboss.jca:service=LocalTxCM,name=InventoryDataSource
org.jboss.deployment.DeploymentException: No Attribute found with name: JndiName
]
-------------------------------------------------------------------------------

The Petstore still can run, but shows "Unable to Connect to Database
Database Connection is closed: Confirm that you have started your database."

Could anyone kindly help with this problem, please?

The reason why I using 3.2.3 is the project I am working on need to use TPTP BTM to monitor Petstore.

But eclipse seems just support JBoss 3.2.3 and JBoss 4.0.
I have the same problem with JBoss 4.0.5 GA.

Thank you very much!
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 22 2007
Added on May 25 2007
0 comments
191 views