[JBoss Seam] - Problem implementing business logic
by earniedyke
Greetings all!!!!
I have the following code which I intended to execute the hibernate based validation first (via the em.persist) then test for business rules. The documentation for @End says the conversation is NOT ended if the method returns null but what is happening is the em.persist is writing the data to the database even though start date is greater than end date.
What am I doing wrong?
Thanks in advance for any and all help!
Earnie!
@End
| public String saveConference() {
| log.debug("Saving "
| + (selectedConference.getId() == 0 ? "new" : selectedConference
| .getName()) + " conference");
| Object parms[] = new Object[1];
| parms[0] = selectedConference.getName();
| em.merge(selectedConference);
| log.debug("event saved to db");
| if (selectedConference.getStartDate() != null && selectedConference.getEndDate() != null && selectedConference.getEndDate().before(selectedConference.getStartDate())) {
| facesMessages.addToControlFromResourceBundle("endDate", "waitc.business.logic.event.start.end.dates", new Object[0]);
| return null;
| }
| facesMessages.addFromResourceBundle("waitc.CONFERENCE_SAVED", parms);
| getActiveConferences();
| getAdministerableConferences();
| return "maintainEvent";
| }
|
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099297#4099297
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099297
18Â years, 6Â months
[JBoss Seam] - Re: Seam 2 B1 - Ending a process instance fails.
by shilpa.kumarï¼ indussoft.com
I am also getting the same error. I am working on jbpm3.2.2\jbpm-jpdl-3.2.2 & websphere 6. I am able to connect and give token.signal but at state-end i am getting this error.
| org.jbpm.db.JobSession deleteJobsForProcessInstance org.hibernate.TransactionException: Could not register synchronization
|
Can you please help me. I already running behind time. and saw all sites from almost 2 weeks. but still not getting any solution.....
plz help me.
my jbpm.cfg.xml is
|
| <jbpm-configuration>
|
| <jbpm-context>
| <service name="persistence">
| <factory>
| <bean class="org.jbpm.persistence.db.DbPersistenceServiceFactory">
| <field name="isTransactionEnabled"><false /></field>
| <field name="isCurrentSessionEnabled"><false /></field>
| </bean>
| </factory>
| </service>
| <service name="tx" factory="org.jbpm.tx.TxServiceFactory" />
| <service name="message" factory="org.jbpm.msg.db.DbMessageServiceFactory" />
| <service name="scheduler" factory="org.jbpm.scheduler.db.DbSchedulerServiceFactory" />
| <service name="logging" factory="org.jbpm.logging.db.DbLoggingServiceFactory" />
| <service name="authentication" factory="org.jbpm.security.authentication.DefaultAuthenticationServiceFactory" />
| </jbpm-context>
|
| <!-- configuration resource files pointing to default configuration files in jbpm-{version}.jar -->
| <string name="resource.hibernate.cfg.xml" value="hibernate.cfg.xml" />
| <!-- <string name="resource.hibernate.properties" value="hibernate.properties" /> -->
| <string name="resource.business.calendar" value="org/jbpm/calendar/jbpm.business.calendar.properties" />
| <string name="resource.default.modules" value="org/jbpm/graph/def/jbpm.default.modules.properties" />
| <string name="resource.converter" value="org/jbpm/db/hibernate/jbpm.converter.properties" />
| <string name="resource.action.types" value="org/jbpm/graph/action/action.types.xml" />
| <string name="resource.node.types" value="org/jbpm/graph/node/node.types.xml" />
| <string name="resource.parsers" value="org/jbpm/jpdl/par/jbpm.parsers.xml" />
| <string name="resource.varmapping" value="org/jbpm/context/exe/jbpm.varmapping.xml" />
|
| <bean name="jbpm.task.instance.factory" class="org.jbpm.taskmgmt.impl.DefaultTaskInstanceFactoryImpl" singleton="true" />
| <bean name="jbpm.variable.resolver" class="org.jbpm.jpdl.el.impl.JbpmVariableResolver" singleton="true" />
| <long name="jbpm.msg.wait.timout" value="5000" singleton="true" />
|
|
| </jbpm-configuration>
|
|
my hibernate.cfg.xml is as follows
| <property name="hibernate.dialect">org.hibernate.dialect.Oracle9iDialect</property>
|
|
| <property name="hibernate.cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>
|
| <!-- Websphere -->
| <property name="hibernate.jdbc.batch_size">0</property>
| <property name="hibernate.connection.datasource">jdbc/JbpmDS</property>
| <property name="hibernate.TransactionManagerLookup">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</property>
| <property name="hibernate.transaction.manager_lookup_class">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</property>
| <property name="hibernate.TransactionManagerLookupStrategy">org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</property>
| <property name="transaction.factory_class">org.hibernate.transaction.CMTTransactionFactory</property>
| <property name="hibernate.show_sql">true</property>
|
|
| <property name="hibernate.transaction.flush_before_completion">true</property>
|
Please help me ASAP
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099294#4099294
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099294
18Â years, 6Â months
[JBoss Seam] - Re: Let's use component scope before lookupInStatefulContext
by dmitriy.lapko
Ok, thank you for answer about fixing perNestedConversation, I used previous CR and didn't had this update. Now I updated seam and it works better, thank you again :)
But...
I made a little experiment concerning lookupInStatefulContexts.
1 code:
<ui:repeat value="#{itemResultList.resultList}" var="#{item}">
| <tr>
| <td class="itemListCenter">
| #{itemBrowseList.getItemQuantity(item)}
| </td>
| </tr>
| </ui:repeat>
|
2 code:
<ui:repeat value="#{itemResultList.resultList}" var="#{item}">
| <tr>
| <td class="itemListCenter">
| #{baseComponent.itemBrowseList.getItemQuantity(item)}
| </td>
| </tr>
| </ui:repeat>
|
The only difference is that in second example itemBrowseList is returned by EVENT scoped component with method:
public ItemBrowseListComp getItemBrowseList() {
| return (ItemBrowseListComp) Component.getInstance("itemBrowseList", ScopeType.SESSION);
| }
|
itemBrowseList is in SESSION scope.
I measure time for RENDER_RESPONSE phase. Page contains a lot of other code, by the way.
I use last sources of Seam from CVS.
Result list contains 100 elements.
So,
for code 1: approx. 540ms (#{itemBrowseList.getItemQuantity(item)})
for code 2: approx. 310ms (#{baseComponent.itemBrowseList.getItemQuantity(item)})
So, difference - (540-310)/100 alsmost 2ms for each EL!
I'll raise a JIRE issue for this. And until it will be implemented, I will use this ugly code for my system...
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099279#4099279
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099279
18Â years, 6Â months
[Javassist user questions] - Re: javassist as a profiler in jboss
by cry4dawn
here is my transform method:
| public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain protectionDomain, byte[] classfileBuffer) throws IllegalClassFormatException {
| byte[] transformed = null;
| System.out.println("Loading class: " + className);
| if (!className.startsWith("org/jboss")) {
| ClassPool pool = ClassPool.getDefault();
| Loader cl = new Loader(pool);
| ClassPool child = new ClassPool(pool);
| child.appendClassPath(new ClassClassPath(classBeingRedefined));
| try {
| CtClass c = child.get(className.replaceAll("/", "."));
| if (!c.isModified()) {
| CtMethod[] x = c.getMethods();
| for (CtMethod meth : x) {
| if (meth.getName().equals("finalize")) {
| try {
| meth = c.getDeclaredMethod(meth.getName());
| } catch (NotFoundException e) {
| System.out.println("finalize not found creating it");
| CtMethod m = CtNewMethod.make("public void finalize() throws Throwable { super.finalize();System.out.println(\"calling finalize\"); } ", c);
| c.addMethod(m);
| break;
| }
| System.out.println("modifing " + c.getName() + "'s finalize method");
| meth.insertBefore("{ System.out.println(\"calling finalize\"); }");
| }
| }
| return c.toBytecode();
| }
| } catch (Exception e) {
| e.printStackTrace();
| }
| }
| return transformed;
| }
|
which throws:
| Loading class: java/io/ObjectStreamClass$FieldReflector
| finalize not found creating it
| Loading class: sun/reflect/GeneratedSerializationConstructorAccessor2
| java.lang.NullPointerException
| at javassist.ClassClassPath.find(ClassClassPath.java:84)
| at javassist.ClassPoolTail.find(ClassPoolTail.java:317)
| at javassist.ClassPool.find(ClassPool.java:495)
| at javassist.ClassPool.createCtClass(ClassPool.java:479)
| at javassist.ClassPool.get0(ClassPool.java:445)
| at javassist.ClassPool.get(ClassPool.java:414)
| at com.healthmarkets.profiler.Xformer.transform(Xformer.java:37)
| at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
| at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
| at sun.misc.Unsafe.defineClass(Native Method)
| at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
| at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
| at java.security.AccessController.doPrivileged(Native Method)
| at sun.reflect.MethodAccessorGenerator.generate(MethodAccessorGenerator.java:377)
| at sun.reflect.MethodAccessorGenerator.generateSerializationConstructor(MethodAccessorGenerat
| or.java:95)
| at sun.reflect.ReflectionFactory.newConstructorForSerialization(ReflectionFactory.java:313)
| at java.io.ObjectStreamClass.getSerializableConstructor(ObjectStreamClass.java:1272)
| at java.io.ObjectStreamClass.access$1400(ObjectStreamClass.java:47)
| at java.io.ObjectStreamClass$2.run(ObjectStreamClass.java:393)
| at java.security.AccessController.doPrivileged(Native Method)
| at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:373)
| at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:268)
| at java.io.ObjectStreamClass.<init>(ObjectStreamClass.java:369)
| at java.io.ObjectStreamClass.lookup(ObjectStreamClass.java:268)
| at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1029)
| at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
| at javax.management.remote.rmi.RMIConnectorServer.encodeJRMPStub(RMIConnectorServer.java:715)
|
| at javax.management.remote.rmi.RMIConnectorServer.encodeStub(RMIConnectorServer.java:708)
| at javax.management.remote.rmi.RMIConnectorServer.encodeStubInAddress(RMIConnectorServer.java
| :680)
| at javax.management.remote.rmi.RMIConnectorServer.start(RMIConnectorServer.java:438)
| at sun.management.jmxremote.ConnectorBootstrap.startLocalConnectorServer(ConnectorBootstrap.j
| ava:390)
| at sun.management.Agent.premain(Agent.java:92)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:585)
| at sun.management.Agent.startAgent(Agent.java:197)
| Loading class: sun/reflect/GeneratedSerializationConstructorAccessor3
| java.lang.NullPointerException
| at javassist.ClassClassPath.find(ClassClassPath.java:84)
| at javassist.ClassPoolTail.find(ClassPoolTail.java:317)
| at javassist.ClassPool.find(ClassPool.java:495)
| at javassist.ClassPool.createCtClass(ClassPool.java:479)
| at javassist.ClassPool.get0(ClassPool.java:445)
| at javassist.ClassPool.get(ClassPool.java:414)
| at com.healthmarkets.profiler.Xformer.transform(Xformer.java:37)
| at sun.instrument.TransformerManager.transform(TransformerManager.java:122)
| at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:155)
| at sun.misc.Unsafe.defineClass(Native Method)
| at sun.reflect.ClassDefiner.defineClass(ClassDefiner.java:45)
| at sun.reflect.MethodAccessorGenerator$1.run(MethodAccessorGenerator.java:381)
|
any help would really be appreciated
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4099277#4099277
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4099277
18Â years, 6Â months