Schema Error with Drools spring xsd
by Mohod, Akash
Hi ,
I am using Drools 5.1 with Srping 3.0 . I am getting these errors working in Eclipse :-
org.xml.sax.SAXParseException: schema_reference.4: Failed to read schema document 'http://anonsvn.jboss.org/repos/labs/labs/jbossrules/trunk/drools-containe...', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.warning(ErrorHandlerWrapper.java:96) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:380) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:2541) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaWarning(XSDHandler.java:2532) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.getSchemaDocument(XSDHandler.java:1836) [na:1.6.0_19]
at com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:531) [na:1.6.0_19]
Any help is appreciated.
Regards,
Akash
--------------------------------------------------------------------------
NOTICE: If you have received this communication in error, please destroy all electronic and paper copies and notify the sender immediately. Mistransmission is not intended to waive confidentiality or privilege. Morgan Stanley reserves the right, to the extent permitted under applicable law, to monitor electronic communications. This message is subject to terms available at the following link: http://www.morganstanley.com/disclaimers. If you cannot access these links, please notify us by reply message and we will send the contents to you. By messaging with Morgan Stanley you consent to the foregoing.
15 years, 9 months
Fixing the "Discouraged access" Eclipse warnings makes all org.drools.* import unresolved
by maurizio
Hi all,
within Eclipse I'm getting several warnings like "Discourages access: the
type SessionPseudoClock is not accessible due to restriction on required
library drools-core.jar". I cannot really understand why using
SessionPseudoClock just as explained in the Fusion manual should be
avoided. Anyway in another thread Kris Verlaenen suggested "You can easily
turn them off by doing: Windows - Preferences -> select Drools on the left
and change the Internal rule classes setting to accessible." Unfortunatly by
doing so I only get a lot of "The import org.drools cannot be resolved"
errors : all drools imports are no more resolved.
Any comment and suggestion will be most welcome.
Thanks and Best regards,
Maurizio
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Fixing-the-Discourage...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 9 months
drools quirks
by Matt Young
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I just started using drools and this is my first time implementing a
rules engine. Everything has been pretty smooth but I have some
quirks that I am not sure I can live with.
1) for some reason, if I execute the Knowlege session against an
object, the knowlege session never returns. The only way I can get
the ksession to return is to make IF (obj == null) part of the LHS and
make modify($input){setObj("complete")} part of the RHS
This seems like a deficiency since I have users writing their own
rules, I can see them forgetting this requirement. IS their a way to
get the ksession to firerules only once? If so what does that look like?
2) It seems that any code I want can be executed in the RHS. I could
literally execute something like the following in the RHS.
byte[] b= new byte[10000000000000]; // Really big memory waste
I also could just start a bunch of threads.
The point is that I am intending to let the users write their own
rules but I can't do that if there are no restrictions on how/what can
be done inside the rules. Any suggestions? Are there sandboxes or
filters I can activate to restrict the RHS?
- --
Cheers,
Matt Young
solid(a)youngdev.net
http://youngdev.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJMlMmHAAoJEO5jycTTPEzclUwQAJdLYF183A5fSo9cN0a1gkkR
bRyIEgUBUZGQVZi+W7vezQMVqLtV1/+HkfDj5EdylD9fGS6/OsBzOKMCKb4IIuOe
j8xgp4Z85G5JmowhWDh9AYfHMwcOJ/QSjrPm4ABs3ZQilBEeSKcYBNZ/YNX9WhVN
ZMeLwx9+VJqK1Wj4Aue6zdG4XiSA+CTNL309xLgyGkoiWtnp3+wY4Q3q1WGArWti
uIq0tN1xGk9mRkSGepdAjycv5mc+9BCjh6/5UqSIMsWSTqKzm6ce96YQIMgMV77m
J6/ya91eTGiqXXpXsrSKJSHUFe7ExAJjjVZFzXT55FSNRBzrInCXDIyMfH6hX00E
KFQyQWHi3lLRPSKnBpkBGQj1ZPB3WMBvq8Kfjjszzoa3MjmsfNy21YdrSdLUnJPC
NNdBCwYmNbntRu+6fhk8D5OxlLXqAY+OcuVLjySKdBq6eA+Q20XN8+GLWwAjSD8K
vc0/6HAICKzOXhpSiPEFsPSOxT/FSVBXPOmoO0fMoxjOLpEHU2G5CB6lIn8zZngQ
GodDE6s9uOWLsEyxsBCp7Nb9uLNEFXVW91SsYcGQuzCrVgwPR4Dc/KUzOdYUPIaM
RC1laZbdEfrhisZrHAkZDaMSzaYZO48Vb4ZpCJTqCVESdwjRbBLtTG7YNAFBKQQw
BN9Qjq6IJUUJDzfawsrr
=1xoA
-----END PGP SIGNATURE-----
15 years, 9 months
calling a function from "when"
by Kripa Nathwani
Hello,
I need to know whether it is possible to call a function from within a "when" condition?
I am currently trying with a simple print function just for checking but it is not working.
Best Regards,
Kripa
________________________________
This Email may contain confidential or privileged information for the intended recipient (s) If you are not the intended recipient, please do not use or disseminate the information, notify the sender and delete it from your system.
______________________________________________________________________
15 years, 9 months
Flow Timer causes exception: Caused by: java.util.concurrent.RejectedExecutionException
by Gustavo Tenrreiro
Hi,
I have a flow and a set of rules.
In the flow I have a wait state. If the wait state has a timer, when
the flow reaches the node it blows up with the following exception (
See Below ), if I remove the timer everything works.
INFO 2010-09-18 16:26:28 [ERROR]
com.kgcontrols.services.raytheon.standardsRequests.workflow.managers.DroolsEventsManager
Could not commit session
java.lang.RuntimeException: Could not commit session
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:292)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.execute(CommandBasedStatefulKnowledgeSession.java:434)
at com.kgcontrols.services.raytheon.standardsRequests.workflow.managers.DroolsEventsManager.sendEvent(DroolsEventsManager.java:43)
at com.kgcontrols.services.raytheon.standardsRequests.workflow.Rule_domainLeadReject_0.defaultConsequence(Rule_domainLeadReject_0.java:10)
at com.kgcontrols.services.raytheon.standardsRequests.workflow.Rule_domainLeadReject_0DefaultConsequenceInvoker.evaluate(Rule_domainLeadReject_0DefaultConsequenceInvoker.java:34)
at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:917)
at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:856)
at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1071)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:785)
at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:751)
at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:218)
at org.drools.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:99)
at org.drools.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:33)
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:279)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.fireAllRules(CommandBasedStatefulKnowledgeSession.java:201)
at com.kgcontrols.services.raytheon.standardsRequests.workflow.listeners.VoteCreatedEventListener.onMessage(VoteCreatedEventListener.java:78)
at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:854)
at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:99)
at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:166)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:117)
at org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ScheduledThreadPoolExecutor.delayedExecute(ScheduledThreadPoolExecutor.java:216)
at java.util.concurrent.ScheduledThreadPoolExecutor.schedule(ScheduledThreadPoolExecutor.java:379)
at org.drools.time.impl.JDKTimerService.schedule(JDKTimerService.java:102)
at org.drools.time.impl.JDKTimerService.scheduleJob(JDKTimerService.java:80)
at org.drools.process.instance.timer.TimerManager.registerTimer(TimerManager.java:60)
at org.drools.workflow.instance.node.StateBasedNodeInstance.internalTrigger(StateBasedNodeInstance.java:56)
at org.drools.workflow.instance.node.CompositeNodeInstance.internalTrigger(CompositeNodeInstance.java:86)
at org.drools.workflow.instance.node.StateNodeInstance.internalTrigger(StateNodeInstance.java:48)
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:178)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:144)
at org.drools.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:53)
at org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:117)
at org.drools.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:98)
at org.drools.workflow.instance.node.WorkItemNodeInstance.triggerCompleted(WorkItemNodeInstance.java:201)
at org.drools.workflow.instance.node.WorkItemNodeInstance.workItemCompleted(WorkItemNodeInstance.java:258)
at org.drools.workflow.instance.node.WorkItemNodeInstance.signalEvent(WorkItemNodeInstance.java:234)
at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:337)
at org.drools.persistence.processinstance.JPAWorkItemManager.completeWorkItem(JPAWorkItemManager.java:99)
at org.drools.process.workitem.email.EmailWorkItemHandler.executeWorkItem(EmailWorkItemHandler.java:104)
at org.drools.persistence.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:45)
at org.drools.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:101)
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:178)
at org.drools.workflow.instance.node.SplitInstance.internalTrigger(SplitInstance.java:94)
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:178)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:144)
at org.drools.workflow.instance.node.JoinInstance.triggerCompleted(JoinInstance.java:152)
at org.drools.workflow.instance.node.JoinInstance.internalTrigger(JoinInstance.java:52)
at org.drools.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:117)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerConnection(NodeInstanceImpl.java:178)
at org.drools.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:144)
at org.drools.workflow.instance.node.EventNodeInstance.triggerCompleted(EventNodeInstance.java:66)
at org.drools.workflow.instance.node.EventNodeInstance.signalEvent(EventNodeInstance.java:50)
at org.drools.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:351)
at org.drools.command.runtime.process.SignalEventCommand.execute(SignalEventCommand.java:95)
at org.drools.impl.StatefulKnowledgeSessionImpl.execute(StatefulKnowledgeSessionImpl.java:879)
at org.drools.impl.StatefulKnowledgeSessionImpl.execute(StatefulKnowledgeSessionImpl.java:862)
at org.drools.command.ExecuteCommand.execute(ExecuteCommand.java:50)
at org.drools.command.ExecuteCommand.execute(ExecuteCommand.java:31)
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:279)
... 24 more
INFO 2010-09-18 16:26:28 [ERROR]
com.kgcontrols.services.raytheon.standardsRequests.workflow.listeners.VoteCreatedEventListener
Unable to consume Vote created event: Could not commit session or
rollback
java.lang.RuntimeException: Could not commit session or rollback
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:289)
at org.drools.command.impl.CommandBasedStatefulKnowledgeSession.fireAllRules(CommandBasedStatefulKnowledgeSession.java:201)
at com.kgcontrols.services.raytheon.standardsRequests.workflow.listeners.VoteCreatedEventListener.onMessage(VoteCreatedEventListener.java:78)
at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:854)
at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:99)
at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:166)
at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:117)
at org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Unable to rollback transaction
at org.drools.persistence.session.JtaTransactionManager.rollback(JtaTransactionManager.java:181)
at org.drools.persistence.session.SingleSessionCommandService.execute(SingleSessionCommandService.java:287)
... 11 more
Caused by: java.lang.IllegalStateException: no transaction started on
this thread
at bitronix.tm.BitronixTransactionManager.rollback(BitronixTransactionManager.java:111)
at org.drools.persistence.session.JtaTransactionManager.rollback(JtaTransactionManager.java:178)
... 12 more
Can someone point me in the right direction.
Thanks
15 years, 9 months
LHS compare two lists
by lnguyen
Hi,
I'm trying to determine if a user has the required certifications for a
position. So I'm comparing the list of required certifications to the list
of User Certifications but I'm throwing a nullPointerException even though I
check to make sure the list are not null on their respective objects. How do
I iterate between both list?
rule "Determine if the user has the required certifications"
dialect 'mvel'
no-loop true
salience 80
when
$user : User()
$profile : UserProfile($userCertifications : userCertifications,
eval(userCertifications != null)) from $user.userProfile
$position : Position($certifications : requiredCertifications,
eval(requiredCertifications != null))
exists ($certification: Certification() from $certifications and
UserCertification(certification == $certification) from $userCertifications)
then
System.out.println("The user has the required certifications");
end
public UserProfile
{
List<UserCertification> userCertifications;
//more fields
}
public Position
{
List<Certification> requiredCertifications;
//more fields
}
public Certification
{
Long id;
String name;
//more fields
}
public UserCertification
{
Long id;
Date certificationDate;
Certification certification;
//more fields
}
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/LHS-compare-two-lists...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 9 months
Drools flow and BPEL (Drools 5.1)
by tim
Hello,
I am studying how to integrate Drools 5.1 into our product. And we will need
a BPEL engine embedded in Drools. I read from the "Drools Flow User Guide"
that "the Drools Flow engine is based on a generic process engine that
allows the definition and execution of different types of process languages,
like for example our RuleFlow language, WS-BPEL ..." But I can't find any
documentation or examples available for using BPEL in Drools. If you have
done something similar, please let me know. Any suggestion will be helpful!
Thanks in advarce!
--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/Drools-flow-and-BPEL-...
Sent from the Drools - User mailing list archive at Nabble.com.
15 years, 9 months
drools syntax highlighting editor
by Matt Young
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
is there a drools syntax highlighting widget along the lines of
tinymce for regular html pages. I'm certain there is a seam or JSF
component but my application is a JSP based springmvc application and
I would like to not have to migrate to something else, just to
provided a good rules editor in my application.
- --
Cheers,
Matt Young
solid(a)youngdev.net
http://youngdev.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJMlSqqAAoJEO5jycTTPEzcm4gQAJzG22gY+KRj+D6EdJzH4PfH
/WARpfHy+wtyy2N6WGmvpOnmUXsa4f4OTyIdU/DPf+4Sg+qSrDzZ3FzcTB3clQwD
vRVxfcF3ggGzEgZxUYVsaJdAtuhOn/rTwlybZZJYhHVnSorglMWn/eGbzrTtFpMs
CWTl4oewkamKHfGcBOymhEs5CwCuCG18HEwggYAirnO278T3zm4N1b+eTyp2vpyQ
EP+KwIUbjCHyve3u2J2qOLw5ajlUe8rM2z8bRSXgRZUUwtcWl9I66l08oS21/4ZF
Yfnqz1SoEgcKW2Cd8KjQ7ELihP9PGFfwCAvLZv+A1fIGIgqNRY/bKVIo+cB0s8Pb
OWKgYIbGTKD34xon858J/yxkeh4NQS24RJXj/1WoKsqvbmB3OmBDdK4MkAaF1rtg
iTGGp56AaXSI+FMRUF6tTESQCai+g6noKQqyjooWcmO8fETFBsKs/k2voATziJ9z
OgVjwfQ3akO0SpFNggnG3YEFqWqaHlkeBw8cFt7LtVQf+S2YBEvkAqA7digb+czK
d/MdnhmGvshBXquJDUwwPcS6/+Q3c5PbBIoKxUTPmcKOL5JS29NfQOjsuJtMX1uS
xZ4HPlCkIncJLyYNuuwSja5qMgtxX0FYRCk7VZERevr0gUETtUWmigENJEAVHL1a
CbVl9QDLfAChJ5crxwDd
=VjEx
-----END PGP SIGNATURE-----
15 years, 9 months
Re: [rules-users] Welcome to the "rules-users" mailing list
by Aman
Hello,
I can see Drools 5.1 is going to add support for Spring integration.
How about Seams, I think it is already integrated, because in all
presentations, I haven't seen anyone referring to Seam.
Thanks
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of
rules-users-request(a)lists.jboss.org
Sent: Saturday, September 18, 2010 2:25 PM
To: boy18nj(a)gmail.com
Subject: Welcome to the "rules-users" mailing list
Welcome to the rules-users(a)lists.jboss.org mailing list!
To post to this list, send your email to:
rules-users(a)lists.jboss.org
General information about the mailing list is at:
https://lists.jboss.org/mailman/listinfo/rules-users
If you ever want to unsubscribe or change your options (eg, switch to
or from digest mode, change your password, etc.), visit your
subscription page at:
https://lists.jboss.org/mailman/options/rules-users/boy18nj%40gmail.com
You can also make such adjustments via email by sending a message to:
rules-users-request(a)lists.jboss.org
with the word `help' in the subject or body (don't include the
quotes), and you will get back a message with instructions.
You must know your password to change your options (including changing
the password, itself) or to unsubscribe. It is:
newpassword1
Normally, Mailman will remind you of your lists.jboss.org mailing list
passwords once every month, although you can disable this if you
prefer. This reminder will also include instructions on how to
unsubscribe or change your account options. There is also a button on
your options page that will email your current password to you.
15 years, 9 months