Status

Blog::Calendar

« March 2010
SunMonTueWedThuFriSat
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
   
       
Today
XML

Blog::Navigation

Blog::Editing

Bookmarks::Blogroll

Blog::Referers

Today''s Page Hits: 229

Other sites

Google Analytics

Powered by Roller Weblogger.
All | JBoss&Seam | JSF | ZK | Music | General | Java
20091130 Monday November 30, 2009
When will seam create compoent instance.

When will seam cerate component instance?

20090728 Tuesday July 28, 2009
How to install JBPM4 into JBoss AS 4.2.3

Reference :
 http://www.mastertheboss.com/en/jbpm/209-jbpm-4-tutorial-installation.html
 http://www.li-zone.cn/index.php/2009/06/jbpm%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/

  1. Install JBPM Schema
    1. create a schema named "jbpm4" on your local MySQL database. Then add an user named "jboss" to the database.
      CREATE DATABASE jbpm4;

      GRANT ALL PRIVILEGES ON *.* TO jboss@localhost
      -> IDENTIFIED BY 'jboss' WITH GRANT OPTION;
    2. Then edit the file JBPM4_HOME\db\jdbc\mysql.properties so that it contains our database properties:
      jdbc.driver=com.mysql.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/jbpm4
      jdbc.username=jboss
      jdbc.password=jboss
    3. Now move the the "db" folder where you will find a build.xml. Launch the following command
      ant -Ddatabase=mysql create.jbpm.schema
  2. Install JBPM4 on JBoss 4.2.3
    1. Move into the "jboss" folder and open the ant build.xml file, Configure the following properties, at the top of the file:
      <property name="jboss.version" value="4.2.3.GA" />
      <property name="jboss.home" value="/the_path_of_jboss_ap" /> <!-- ex :/user/home/dennis/jboss-4.2.3.GA -->
    2. Launch the command, it will create a folder (JBoss AS server/default/deploy/jbpm), and copy file into it.
      ant -Ddatabase=mysql install.jbpm.into.jboss
  3. Manually configuration, JBPM4 installation command is only for JBossAS 5, so we need to do some thing manually
    1. Create folder DEPLOY/jbpm/jbpm-service.sar/jbpm.deployer/jbpm.beans/META-INF
    2. Create folder DEPLOY/jbpm/jbpm-service.sar/jbpm.deployer/META-INF
    3. Copy file JBPM4_HOME/jboss/config.jboss4/deploy/jbpm/jbpm-service.sar/jboss-beans.xml to DEPLOY/jbpm/jbpm-service.sar/jbpm.deployer/jbpm.beans/META-INF
    4. Copy file JBPM4_HOME/jboss/config.jboss4/deploy/jbpm/jbpm-service.sar/META-INF/jboss-service.xml to DEPLOY/jbpm/jbpm-service.sar/jbpm.deployer/META-INF
    5. Copy JBPM4_HOME/lib, bpm-spi.jar and jbpm-jboss4.jar to DEPLOY/jbpm/jbpm-service.sar/jbpm.deployer
  4. Start JBoss AS and link to  http://localhost:8080/jbpm-console/ , login with alex(password) .

Make it more automatically

you can modify JBPM4_HOME/jboss/build.xml to make it automatically configure on JBoss 4.2.3.

  1. Move into the "jboss" folder and open the ant build.xml file, configure the following properties, at the top of the file:
    <property name="jboss.version" value="4.2.3.GA" />
    <property name="jboss.home" value="/the_path_of_jboss_ap" /> <!-- ex :/user/home/dennis/jboss-4.2.3.GA -->
  2. Search <antcall target="internal.install.jbpm.into.jboss.500specifics" /> , append this line below it.
    <antcall target="internal.install.jbpm.into.jboss.400specifics" />
    1, Search <condition property="jboss.version.5">, append a condition declaration below the condition
    <condition property="jboss.version.4">
    <or>
    <equals arg1="${jboss.version}" arg2="4.2.3.GA" />
    </or>
    </condition>
  3. Search <target name="internal.install.jbpm.into.jboss.500specifics" if="jboss.version.5">, append a target below the target.
      <!-- ### THE JBOSS 4 SPECIFIC PART ############################### -->
    <target name="internal.install.jbpm.into.jboss.400specifics" if="jboss.version.4">
    <copy todir="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar/jbpm.deployer/jbpm.beans/META-INF/" overwrite="true">
    <fileset dir="${jbpm.home}/jboss/config.jboss4/deploy/jbpm/jbpm-service.sar/" >
    <include name="jboss-beans.xml"/>
    </fileset>
    </copy>
    <copy todir="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar/jbpm.deployer/META-INF/" overwrite="true">
    <fileset dir="${jbpm.home}/jboss/config.jboss4/deploy/jbpm/jbpm-service.sar/META-INF/" >
    <include name="jboss-service.xml"/>
    </fileset>
    </copy>
    <copy todir="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar/jbpm.deployer/" overwrite="true">
    <fileset dir="${jbpm.home}/lib">
    <include name="jbpm-spi.jar"/>
    <include name="jbpm-jboss4.jar"/>
    </fileset>
    </copy>
  4. Launch the command
    ant -Ddatabase=mysql install.jbpm.into.jboss
20090718 Saturday July 18, 2009
Run seam register example in WAR

In past of two days, I was studying JBoss Seam, reading the document and trying to run the tutorial example.
I did a stupid thing that spent me half a day, the example must run in EAR deployment, but I ran it in WAR mode.

I am curious how to make it run in WAR mode.
Cause of the example is made for a EJB, so you need to declare @Stateless/@Stateful for the controller.
In document of Seam, it can control any bean to be a controller, no need to EJB , so we should able to remove EJB annotation.
However cause we still need an entity manager,that annotated by @PersistenceContext, to work, so we don't remove @Stateless/@Stateful directly.
Thanks Seam, it is easy to fix, use @In annotation, you can get a entity manager with out @PersistenceContext

following is the steps to run example in WAR mode.

  1. Remove @Stateless/@Stateful in RegisterAction
  2. Change @PersistenceContext to @In(value="entityManager") , or @In if the EntityManager value name is already "entityManager"
  3. Remove @Local in Register, keep Register interface, I think this interface is still good for a OO Design.
that's all, you only need to care about is the the name of "entityManager" must same as the declartion in components.xml

Copyright (C) 2003, 閣樓貓的五四三 (About Cat)