Monday, August 06, 2012

Data Source Configuration in JBoss AS 7 (MySQL)

I have tried to configure Data Source in JBoss for about 5 hrs now - With this being the only solution.

Solution
Simply replace the contents of the module/com/mysql/main with the contents of this tar file.
https://community.jboss.org/wiki/DataSourceConfigurationInAS7


The trick is that an index file needs to be present ..and for some reason its married the version of the jar.
Its suppose to be auto-generated by JBoss when you start the AppSever.


But on my MacAir - It never happened.

Is it a permissions issue?
Is it an OS issue?
Or is there something else I am missing here??

$ 1M  - to anyone that can explain this anomaly!! *wink*

Sunday, August 05, 2012

Why not to use Apache OpenJPA?

After doing a lot of analysis and sandboxing I realized that there are some issues with implementing OpenJPA in a WebApplication.

First issue was implementing HSQL - Problem: It always fails complaining about java-heap-size.
Even when this was increased.

Second issue was encountered when using MySQL: - OpenJPA now needs javaagent...

http://stackoverflow.com/questions/2127263/openjpa-on-java-se

No too sure on why..

Moving to Hibernate JPA.

Friday, August 03, 2012

Setup HSQLDB on MAC

1.  Start the Server


Hsqldb Server

This is the preferred way of running a database server and the fastest one. A proprietary communications protocol is used for this mode. A command similar to those used for running tools and described above is used for running the server. The following example of the command for starting the server starts the server with one (default) database with files named "mydb.*".
    java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 file:xdb -dbname.0 xdb
The command line argument -? can be used to get a list of available arguments.

Note that both "xdb" is used for both File and database name.


2. Start the DB Manager Swing application

Running Tools

All tools can be run in the standard way for archived Java classes. In the following example the AWT version of the Database Manager, the hsqldb.jar is located in the directory ../lib relative to the current directory.
    java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager
If hsqldb.jar is in the current directory, the command would change to:
    java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
Main classes for the Hsqldb tools
  • org.hsqldb.util.DatabaseManager
  • org.hsqldb.util.DatabaseManagerSwing
  • org.hsqldb.util.Transfer
  • org.hsqldb.util.QueryTool
  • org.hsqldb.util.SqlTool



3. Setup the tool to Connect to the HSQL DB



Use these setting in the connection to setting to run the server.



4. Start the DB Manager Swing application

HSQL needs to be setup in JPA persistence.xml to perform connections.


<persistence-unit name="Stocks" transaction-type="RESOURCE_LOCAL">
<non-jta-data-source>nJTA</non-jta-data-source>
        <class>net.vinant.db.Stock</class>
        <properties>
        <!-- jdbc:hsqldb:mdb -->
        <property name="javax.persistence.jdbc.url" value="jdbc:hsqldb:hsql://localhost/mdb" />
        <property name="javax.persistence.jdbc.user" value="SA"/>
        <property name="javax.persistence.jdbc.driver" value="org.hsqldb.jdbcDriver"/>
        <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema(SchemaAction='add', ForeignKeys=true)"/>
<property name="openjpa.Log" value="DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE"/>        
     <property name="openjpa.jdbc.DBDictionary" value="hsql" />
<property name="openjpa.jdbc.Schema" value="PUBLIC" />
        </properties>   
    </persistence-unit> 
</persistence>



Enjoy!