Wednesday, January 23, 2008

EJB 3.1 New features

Reza Rehman, my co-author of EJB 3 in Action has authored an article on EJB 3.1 new features.

To summarize the major changes that are planned in EJB 3.1 are:


    • Singleton Beans. Using a new @Singleton annotation will support
      this.
    • Optional interfaces similar to web services. Container will generate
      the interface for you. Anyway IMHO it’s always good practice to build an
      interface your bean
    • Stateful Web services using stateful session beans
      EJB
    • Timers to include cron timers. Just to note that OC4J already supports cron
      timer as an extension.
Note that Java Persistence API is now worked under a completely new specification.

You can read the article at http://www.theserverside.com/tt/articles/article.tss?l=NewFeaturesinEJB3-1.

Monday, January 07, 2008

Managing JBoss Application Server from Oracle Enterprise Manager Grid Control

Although I would like that you use Oracle Application Server always I realize that heterogeneous platforms are reality today :) You may have JBoss application server in your environment and you may want to monitor that from Grid Control. Oracle provides a management plug-in for Grid Control to monitor health and performance of JBoss Application Server.
In this blog entry, I will outline the steps to discover JBoss Application Server from Grid Control.
Let us assume that you have installed JBoss Application Server in a server named dpanda-pc in c:\jboss\jboss4.0.2 directory (call it JBoss_Home), your agent is running on a remote host named dpanda-lap.
1. Login to Grid Control 10g R4
2. Click on Application Servers Menu item
3. Select Add -> JBoss Application Server and click on GO
4. Enter name of the server where JBoss is running as Application Server Host
5. Enter the JBoss Home -> the top level directory where JBoss is installed. Note this is not required if you are using Agent installed on a separate host.
6. You have to supply userid/password only if you have enabled security for JMX Console. See http://wiki.jboss.org/wiki/Wiki.jsp?page=SecureTheJmxConsole how you can make JBoss Console secured. This credential will be used by Agent to make JMX connection to gather health/statistics.
7. You can use a remote Intelligent Agent to discover JBoss. If so you have to appropriately select the check box as depicted in the following figure figure:








The Agent requires the JBoss JMX client jar files to make JMX connection to JMS.

Hence you have to copy the following files to a directory e.g. c:\jboss\lib and make it available to the Agent as Library Path:


  • jboss-management.jar from JBoss_Home/server//lib

  • jnp-client.jar from JBoss_Home/client

  • jbossall-client.jar from JBoss_Home/client

  • dom4j.jar from JBoss_Home/lib



Note: Make sure that you restart IA otherwise the current status of JBoss Servers will not be reported correctly post discovery.



8. You have to supply the JNDI port for JBoss server and click next

9. Then you have to supply the credentials for the server/host where JBoss is running

10. It will provide a list of the JBoss partitions and/or Servers that it found in the host and you can select the servers that you want to manage and then click Next



After you confirm at the end of wizard , the JBoss servers will be discovered and you can monitor JBoss Application Server from Grid Control.