How to install i-net OPTA in |JBoss 2.0 FINAL and JBoss 2.1 PRE

Please note: You need the i-net OPTA v.2.05 fix or higher.

JBoss Server Configuration

  1. Copy the Opta.jar file to jboss $JBOSS_ROOT/lib/ext directory.
  2. Start JBoss and check if the Opta.jar file is loaded (at the very beginning a list of jar-files loaded appears).
  3. Add the JDBC driver class name com.inet.tds.TdsDriver in the file in the jdbc.drivers list. At has to looks like this:
  4. Start jBoss and check if the JDBC-driver has been found (look for it on the right side after the list of loaded jar-files)
  5. Add a <MLET> tag to the file jboss.conf, add the Opta.jar subsequently to the jboss.jar in this tag (everything within {} is to be replaced by your value including the {}). You should add this tag at the end of the file:
    <MLET CODE="org.jboss.jdbc.XADataSourceLoader" ARCHIVE="jboss.jar,Opta.jar"
        <ARG TYPE="java.lang.String" VALUE="{MyConnectionPool}">
        <ARG TYPE="java.lang.String" VALUE="com.inet.tds.DTCDataSource">

    *** If you can't install the Resource Manager Proxy in the SQL Server then you can use com.inet.tds.XDataSource instead of com.inet.tds.DTCDataSource.

  6. Add a <mbean> tag the file jboss.jcml (everything within {} is to be replaced by your value including the {}):
    <mbean name="DefaultDomain:service=XADataSource,name={MyConnectionPool}">
        <attribute name="Properties">serverName={YourHost};
        <attribute name="GCMinIdleTime">1200000</attribute>
        <attribute name="JDBCUser">{sa}</attribute>
        <attribute name="MaxSize">10</attribute>
        <attribute name="Password">{}</attribute>
        <attribute name="GCEnabled">false</attribute>
        <attribute name="InvalidateOnError">false</attribute>
        <attribute name="TimestampUsed">false</attribute>
        <attribute name="Blocking">true</attribute>
        <attribute name="GCInterval">120000</attribute>
        <attribute name="IdleTimeout">1800000</attribute>
        <attribute name="IdleTimeoutEnabled">false</attribute>
        <attribute name="LoggingEnabled">false</attribute>
        <attribute name="MaxIdleTimeoutPercent">1.0</attribute>
        <attribute name="MinSize">0</attribute>
  7. Start jBoss and check if a new DataSource is loaded (count them if there is no output from the JDBC loading)

EJB Deployment

  1. Start EJX (java -jar ejx.jar within the /bin directory)
  2. Load your EJB jar file and select the JAWS.xml or create one
  3. Insert MyConnectionPool as the datasource name ( or the datasource name you specifed in step 5 above)
  4. Set the datatype mapping from the list MS SQLSERVER?

Problems with the Installation

    at org.jboss.logging.Log.log(
    at org.jboss.logging.Log.log(
    at org.jboss.util.ServiceMBeanSupport.init(
    at org.jboss.util.ServiceMBeanSupport.preRegister(
    at org.jboss.Main.<init>(
    at org.jboss.Main$
    at Method)
    at org.jboss.Main.main(

Cause: You have to add the MLET tag to the top of the file and not at the end of the file.

[MyConnectionPool] com.inet.tds.SQLException: YourHost,database=YourDatabase
[MyConnectionPool] YourHost,database=YourDatabase
[MyConnectionPool]     at Source)
[MyConnectionPool]     at Source)
[MyConnectionPool]     at Source)
[MyConnectionPool]     at<init>(Unknown Source)
[MyConnectionPool]     at com.inet.tds.TdsDriver.a(Unknown Source)
[MyConnectionPool]     at com.inet.tds.TdsDriver.connect(Unknown Source)
[MyConnectionPool]     at com.inet.tds.TdsDataSource.getConnection(Unknown Source)
[MyConnectionPool]     at com.inet.tds.DTCDataSource.getXAConnection(Unknown Source)
[MyConnectionPool]     at org.jboss.minerva.factories.XAConnectionFactory.createObject(
[MyConnectionPool]     at org.jboss.minerva.pools.ObjectPool.createNewObject(
[MyConnectionPool]     at org.jboss.minerva.pools.ObjectPool.getObject(
[MyConnectionPool]     at org.jboss.minerva.datasource.XAPoolDataSource.getConnection(
[MyConnectionPool]     at org.jboss.jdbc.XADataSourceLoader.initializePool(
[MyConnectionPool]     at org.jboss.jdbc.XADataSourceLoader.startService(
[MyConnectionPool]     at org.jboss.util.ServiceMBeanSupport.start(
[MyConnectionPool]     at java.lang.reflect.Method.invoke(Native Method)
[MyConnectionPool]     at
[MyConnectionPool]     at
[MyConnectionPool]     at org.jboss.dependencies.DependencyManager.startMBean(
[MyConnectionPool]     at org.jboss.dependencies.DependencyManager.loadService(
[MyConnectionPool]     at org.jboss.dependencies.DependencyManager.processService(
[MyConnectionPool]     at org.jboss.dependencies.DependencyManager.processService(
[MyConnectionPool]     at org.jboss.dependencies.DependencyManager.startMBeans(
[MyConnectionPool]     at org.jboss.Main.<init>(
[MyConnectionPool]     at org.jboss.Main$
[MyConnectionPool]     at Method)
[MyConnectionPool]     at org.jboss.Main.main(

Cause: The properties need to be separated by semicolon and not by comma.

[MyConnectionPool] Initializing
[MyConnectionPool] Initialized
[Default] RuntimeException thrown in the MBean's setter
[Default]     at
[Default]     at
[Default]     at org.jboss.configuration.ConfigurationService.load(
[Default]     at java.lang.reflect.Method.invoke(Native Method)
[Default]     at
[Default]     at
[Default]     at org.jboss.Main.<init>(
[Default]     at org.jboss.Main$
[Default]     at Method)
[Default]     at org.jboss.Main.main(
  - Maybe you use an older version of i-net OPTA. You need release 2.05 fix or higher.
  - You have set a value for the URL. i-net OPTA's  XADataSource does not need and does not support a URL. 
<code java>
[MyConnectionPool] There seems to be a problem with the JDBC URL: java.lang.NoSuchMethodException

Cause: This is only a warning because there is no method getURL() in the datasource. i-net OPTA's XADataSource does not need and does not support a URL.


© Copyright 1996 - 2018, i-net software; All Rights Reserved.