[jBPM] - starting up jBPM 4.3
by zecas zecas
zecas zecas [http://community.jboss.org/people/zecas] created the discussion
"starting up jBPM 4.3"
To view the discussion, visit: http://community.jboss.org/message/538483#538483
--------------------------------------------------------------
Hi,
I'm starting to use jBPM, and I'm trying to setup my environment. I'm having some troubles, any help solving would be appreciated.
I'm not a JBoss expert, so I'm learning it as I'm moving through the process.
I've downloaded jboss-5.1.0.GA, extracted to a specific directory, say c:/x/jboss-5.1.0.GA, and that would be my application server location.
I already have MySQL 5.1.22 running on default port 3306.
I've also downloaded jbpm-4.3, and extracted it to say c:/jboss/jbpm-4.3. As I want to learn things the hard way :) , instead of just trying to install a demo, I just went to the install directory and looked into build.xml file. Then I started changing and executing targets:
*[Step A] Database schema*
I created a jbpm4 schema in mysql database, with a specific user proper permissions. I updated the jbpm-4.3/install/jdbc/mysql.properties accordingly.
Instead of passing a parameter, I just changed database property:
<property name="database" value="mysql" /> <!-- {hsqldb | mysql | oracle | postgresql} -->
Then I executed "ant create.jbpm.schema".
Build succesfull, and I've checked that the schema contained the (empty) tables required by jbpm engine.
*[Step B] Installing jBPM*
I wanted to execute "install.jbpm.into.jboss" target, so I've changed the "jboss.home" parameter:
<property name="jboss.home" value="c:/x/jboss-5.1.0.GA" />
Since I have jboss installed, I didn't change any other parameters.
I executed "ant install.jbpm.into.jboss".
The build was successfull.
*[Step C] Creating some users*
Don't know if they are needed at this point, but I just looked into "load.example.identities" target, and checking that it executes the "${jbpm.home}/install/src/demo/example.identities.sql", I opened the script to see it.
It is a simple script, so I just executed it manually against the schema. Success.
So far so good ... I learned something, and setup was running great.
Then the problems came, and so my questions.
I started JBoss with "ant jboss.start" to make things easier, apparently startup was successfull.
*1#* Accessing http://localhost:8080/admin-console/ http://localhost:8080/admin-console/ (after authentication) displays the WAR projects: gwt-console-jbpm.war, gwt-console-server-jbpm.war, jbpmeditor.war.
When accessing http://localhost:8080/jbpm-console/ http://localhost:8080/jbpm-console/ I can see the login screen, but I cannot access it, with any of the users I inserted into the database.
Maybe some other user? What is the default one, and where can I see those definitions?
*2#* Accessing the jbpm editor which has the context root jbpmeditor (I've checked in jboss console), through http://localhost:8080/jbpmeditor/ http://localhost:8080/jbpmeditor/ will give me a "HTTP Status 404 - /jbpmeditor/" error.
Restarting the application displays no errors on ".../server/default/log/*.log" files.
What am I missing here?
Any help appreciated.
Thanks
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/538483#538483]
Start a new discussion in jBPM at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
16 years, 2 months
Re: [jboss-user] [JBoss Microcontainer Development] - JBoss Reflect Performance Javassist vs Introspection
by Kabir Khan
Kabir Khan [http://community.jboss.org/people/kabir.khan%40jboss.com] replied to the discussion
"JBoss Reflect Performance Javassist vs Introspection"
To view the discussion, visit: http://community.jboss.org/message/538459#538459
--------------------------------------------------------------
I have implemented a first attempt at my five points above, but am still getting longer AS startup times with the javassist-based implementation of jboss-reflect than the introspection one.
I have added the possibility to record metrics of the invocation count and the invocation time, and an MBean to get hold of the results which look like this:
Invocations (total time in ms) - Member name
============================================
1473 (0) - org.jboss.metadata.javaee.support.NamedMetaData.setName(Ljava/lang/String;)V - {G}
1281 (0) - org.jboss.metadata.web.spec.AttributeMetaData()V - {G}
1219 (0) - org.jboss.metadata.web.spec.AttributeMetaData.setRequired(Ljava/lang/String;)V - {G}
1132 (0) - org.jboss.metadata.javaee.spec.DescriptionImpl()V - {G}
1132 (3) - org.jboss.metadata.javaee.spec.DescriptionImpl.setDescription(Ljava/lang/String;)V - {G}
1127 (2) - org.jboss.metadata.javaee.spec.DescriptionsImpl()V - {G}
988 (0) - org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions.getDescriptions()Lorg/jboss/annotation/javaee/Descriptions; - {G}
988 (0) - org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions.setDescriptions(Lorg/jboss/annotation/javaee/Descriptions;)V - {G}
...
The time is not accurate, a lot of the invocations have a long "inherent time" such as org.hornetq.jms.server.impl.JMSServerManagerImpl.start(), and for simple setters the time is too short to be picked up. Anyway, the invocation count gives some idea of what is going on. I noticed that the bean metadata classes don't appear in this list, which is a bit strange so I need to figure out why that is.
By default, to avoid the overhead of generating classes for accessors that will not be used a lot, it is now set up to simply do what the introspection implementation does by default, which is to just invoke the members by reflection. The {G} and {R} after the member name indicates whether the accessor was generated or uses reflection. For frequently used accessors, I currently have a file called forceGenerate.txt in the bin/ folder of AS where you can specify which accessors should use a generated class:
org.jboss.metadata.javaee.support.NamedMetaData.setName(Ljava/lang/String;)V
org.jboss.metadata.web.spec.AttributeMetaData()V
org.jboss.metadata.web.spec.AttributeMetaData.setRequired(Ljava/lang/String;)V
org.jboss.metadata.javaee.spec.DescriptionImpl()V
org.jboss.metadata.javaee.spec.DescriptionImpl.setDescription(Ljava/lang/String;)V
org.jboss.metadata.javaee.spec.DescriptionsImpl()V
org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions.getDescriptions()Lorg/jboss/annotation/javaee/Descriptions;
org.jboss.metadata.javaee.support.NamedMetaDataWithDescriptions.setDescriptions(Lorg/jboss/annotation/javaee/Descriptions;)V
org.jboss.metadata.web.spec.TagMetaData.getAttributes()Ljava/util/List;
org.jboss.metadata.web.spec.DeferredValueMetaData()V
org.jboss.metadata.web.spec.AttributeMetaData.setDeferredValue(Lorg/jboss/metadata/web/spec/DeferredValueMetaData;)V
org.jboss.metadata.web.spec.DeferredValueMetaData.setType(Ljava/lang/String;)V
org.jboss.metadata.web.spec.AttributeMetaData.setRtexprvalue(Ljava/lang/String;)V
Doing this for the top 10 used accessors improves the startup time very slightly, but it is still a lot slower than when using the introspection implementation. This leads me to thinking that something in this alternative implementation is playing a bigger part in slowing this down than the accessors. It could be something in the classpools, or maybe some inefficiencies in JavassistTypeInfo and related classes. I'll work on creating some benchmarks that can be run in AS and profile those to get a better idea of what is going on.
--------------------------------------------------------------
Reply to this message by going to Community
[http://community.jboss.org/message/538459#538459]
Start a new discussion in JBoss Microcontainer Development at Community
[http://community.jboss.org/choose-container!input.jspa?contentType=1&cont...]
16 years, 2 months