Drools Fusion (CEP) & event life cycle
by Ephemeris Lappis
Hello.
I'm testing event processing in Drools, and after some basic tests, I have
some questions about event life cycle management.
According to the documentation, in stream mode, events may be automatically
discarded by the engine when no rule, currently or in the future, applies to
them.
In the following rule set (at the end of my post), the rule named
"Processing new alert event" is expected to be executed when a new 'alert'
notification event arrives and no previous alert exists. After an elementary
test, the first matching notification produces the expected behavior and
generates the Alert. But if a second matching notification is inserted, the
rule is ignored as expected, since the Alert is already set, but the event
object seems to be put durably in memory. When a 'stop' notification is
inserted, the Alert object is cleared by the rule "Processing stop event
after alert", as expected, but the second 'alert' notification that should
be forgotten is raised from the memory and the first rule is fired again,
creating an undesired second Alert.
I've tried a workaround adding an "opposite rule" to check the processing of
an 'alert' notification when there is a current Alert. As at the moment the
notification object is inserted the two rules are candidate in the agenda,
both are executed. I suppose I could try, for example, adding salience
values to make the rules execute in a deterministic order...
As you can see, I've added explicit deletion of the notification objects in
the rules, and all seems to work as needed. But it seems really a bit
cimplicated, and contradictory with the documentation...
What did I miss ?
Thanks for your help.
Regards?
Here the rule set :
--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Fusion-CEP-event-life-cycle-tp40...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 6 months
Inconsistent behaviour of insertLogical in rules having from pattern
by Vincent LEGENDRE
Hi all,
It is 2 days I am fighting with a strange behaviour of insertLogical in rules having from pattern in conditions : it works the first time, and not after ...
-----------------------------------------
Here is my use-case (simplified) :
I have a class that represent a Flight. A Flight has a start/end datetime and is associated with a Airplane and a list of Crew :
class Flight {
String airplaneId;
List<String> crewIds;
Date start;
Date end;
}
I want to maintain an alert list that contains all overlaps for each airplane and each crew. So I have rules like:
rule "Overlap Airplane"
when
$f1 : Flight($airplaneId : airplaneId)
$f2 : Flight(this != $1, airplaneId == $airplaneId, ... and periods intersecting ... )
then
insertLogical(new Alert(...));
end
rule "Overlap Crews"
when
$f1 : Flight()
$crew : String from $f1.getCrewIds()
$f2 : Flight(this != $1, eval($f2.getCrewIds().contains($crew)) , ... and periods intersecting ... )
then
insertLogical(new Alert(...));
end
-----------------------------------------
Ok. So what I do to test all that stuff :
- create a new session
- add a first single Flight --> no alerts at all, normal
- add a second Flight insersecting the first one with same airplane and same crews list --> 3 new alerts inserted (one for airplane, one for each crew) : normal
- remove this second Flight --> the 3 preivous alerts are retracted : still ok
- re-add this second Flight --> only the 'airplane' rule triggers, I only get one new alert insteads of the previous same 3 .... The alerts not inserted correspond to the rule having 'from' in it
-----------------------------------------
To test that it is the source of the problem, I add a new explicit association object that I insert in WM :
class CrewAffectation {
String idCrew;
String idFlight;
}
For each inserted Flight, I also insert corresponding new CrewAffectation objects. (in case of retract, I retract them of course).
I change the last rule to something like :
rule "Overlap Crews"
when
$f1 : Flight($id1 : id
$f2 : Flight(this != $1, $id2 : id, ... and periods intersecting ... )
$crewAff1 : CrewAffectation($idCrew : idCrew, idFlight== $id1)
$crewAff2 : CrewAffectation(idCrew == $idCrew, idFlight== $id2)
then
insertLogical(new Alert(...));
end
And with this 'no-from' approach, everything is working as expected.
-----------------------------------------
In addition, I suspect the truth maintenance system to have leaks, and notably in the source kBase.
Why ? Because I was facing problems by reusing the same kBase to generate multiples kSessions : The first session created reacted well, while all the folowing not.
And it was in fact the same problem as the one described here : usage of from and insertLogical in the same rule.
The first created session adds and retract my 3 alerts, the second created session only adds the airplane alert.
With using the explicit association object, I can reuse my kBase and everything is working well.
-----------------------------------------
Does someone already faced the problem ?
Does it looks like a real bug to dev team or am I doing something wrong (but as it work once, I guess it is a bug) ?
Vincent
11 years, 6 months
NPE in LeftTupleSetsImpl.removeUpdate
by David Zeigler
Hi,
I'm using drools 6.0.1.Final. I received a NPE in the
org.drools.core.common.LeftTupleSetsImpl.removeUpdate() method on line
172, which
corresponds to this line for 6.0.1.Final:
previous.setStagedNext( next );
I see 2 commits in 6.1.0 to address NPEs in this class but I'm not sure if
either of those cover this particular NPE. I'm unable to reproduce this
issue with my code after the first occurrence. Does anyone know if this
has been fixed in 6.1.0? Please let me know if I can provide additional
info or if I should open a defect in Jira.
Thanks,
David
Here is the stack trace:
java.lang.NullPointerException
at
org.drools.core.common.LeftTupleSetsImpl.removeUpdate(
LeftTupleSetsImpl.java:172)
at
org.drools.core.common.LeftTupleSetsImpl.addDelete(
LeftTupleSetsImpl.java:84)
at
org.drools.core.common.SynchronizedLeftTupleSets.addDelete(
SynchronizedLeftTupleSets.java:20)
at
org.drools.core.reteoo.LeftInputAdapterNode.doDeleteSegmentMemory(
LeftInputAdapterNode.java:339)
at
org.drools.core.reteoo.LeftInputAdapterNode.doDeleteObject(
LeftInputAdapterNode.java:301)
at
org.drools.core.reteoo.LeftInputAdapterNode.retractLeftTuple(
LeftInputAdapterNode.java:417)
at
org.drools.core.reteoo.ObjectTypeNode.doRetractObject(
ObjectTypeNode.java:352)
at
org.drools.core.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:335)
at
org.drools.core.reteoo.EntryPointNode.retractObject(EntryPointNode.java:395)
at
org.drools.core.common.NamedEntryPoint.delete(NamedEntryPoint.java:605)
at
org.drools.core.common.AbstractWorkingMemory.delete(
AbstractWorkingMemory.java:1184)
at
org.drools.core.common.AbstractWorkingMemory.delete(
AbstractWorkingMemory.java:1176)
at
org.drools.core.impl.StatefulKnowledgeSessionImpl.delete(
StatefulKnowledgeSessionImpl.java:316)
11 years, 6 months
BRMS 6 Access Permissions Configuration - Not Restricting Custom Roles
by 706826
I want to put access control on the BRMS repository/project access, so that
developer-A can only work on repository-A. We have a central BRMS which has
one repository per project. We have 20 projects and have 20 repository, one
for each project.
We strongly want that user working on project-A must have access only on
project-A in BRMS.
I read the documentation that says,
*"The user either has to belong into a role that has access to the
repository or to a role that belongs into an orgazinational group that has
access to the repository. These restrictions can be managed with the command
line config tool."*
Our implementation to the above doc statement is to create custom roles for
each of our project. Then assign developer , analyst and admin permissions
to the roles and then assign these project specific roles only to the
project users. This way each project will have its own roles. And users
under those roles will be able to access only that project and repository in
BRMS.
*Problem*
To do this we simply ran KIE-CONFIG-CLI commands like "add-role-repo" and
considered that roles got added to the BRMS. BUT WE ARE UNABLE to associate
the permission (read/write, developer/admin) to our custom roles.
and upon login we are getting error "Login Failed : UNAuthorized"
*QUESTION * How can we have the ACL implemented in BRMS. Is there something
which we are missing.
--
View this message in context: http://drools.46999.n3.nabble.com/BRMS-6-Access-Permissions-Configuration...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 6 months
Kie-Spring Integration
by gribeiro
Hi, Folks !I´m actually working on a project using Drools 6.0.1.Final and
I´ve recevied the following request:1) All the .drl files are store inside
my maven project under src/main/resources/drools-rules and here´s my
drools.xml : Maybe I was blind while searching on documentation,
but I couldn´t find a way to load rules (.drl files) from file system
(outside the classpath).Please, anyone could help me on this
matter?Rgds,Geovanny RibeiroGreeting from Brazil
--
View this message in context: http://drools.46999.n3.nabble.com/Kie-Spring-Integration-tp4030717.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 6 months
Trying to load a module from Maven coordinates
by david.berkman
Using Maven 3.2.1 and Drools 6.0.1, I'm trying to simply follow the
instructions for loading a container with a jar at a set of maven
coordinates. I have confirmed that the jar exists at the specified
coordinates (in Nexus), and that I can download it without using a
username/password (just an http get), and that the jar does contain both
.drl files and a /META-INF/kmodule.xml. I'm using the code below, and have
added the extra dependencies listed, but I get the errors shown below all
that. First off, working out the proper dependencies is no mean feat, when
it seems that just kie-ci should be necessary. What a pain, and there is far
too little documentation to help. But, I assume this should be possible, and
maybe some kind person out there has the magic combination of Drools, Maven,
and jars to make it work?
Thanks in advance,
David
KieServices kieServices = KieServices.Factory.get();
kieServices.newKieContainer(kieServices.newReleaseId("<groupId>",
"<artifactId>", "<version>"));
<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-ci</artifactId>
<version>6.0.1.Final</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-aether-provider</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-utils</artifactId>
<version>3.0.17</version>
</dependency>
<dependency>
<groupId>org.eclipse.aether</groupId>
<artifactId>aether-impl</artifactId>
<version>0.9.0.M2</version>
</dependency>
2014-03-07T15:29:50.368-0800 Sisu WARN (.:) [main] - Error injecting:
org.eclipse.aether.internal.impl.DefaultRepositorySystem
Exception in thread com.google.inject.ConfigurationException: Guice
configuration errors:
1) No implementation for org.eclipse.aether.impl.ArtifactDescriptorReader
was bound.
while locating org.eclipse.aether.impl.ArtifactDescriptorReader
for parameter 4 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
2) No implementation for org.eclipse.aether.impl.VersionRangeResolver was
bound.
while locating org.eclipse.aether.impl.VersionRangeResolver
for parameter 1 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
3) No implementation for org.eclipse.aether.impl.VersionResolver was bound.
while locating org.eclipse.aether.impl.VersionResolver
for parameter 0 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
3 errors
at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:991)
at
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:950)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
at
org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
at
org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
at
org.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)
at
org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)
at
org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)
at
com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:128)
at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:117)
at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:91)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:89)
at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
at
org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
at
org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
at
org.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)
at
org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)
at
org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)
at
com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:128)
at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:117)
at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:91)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:89)
at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
at
org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
at
org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
at
org.eclipse.sisu.plexus.PlexusRequirements$RequirementProvider.get(PlexusRequirements.java:250)
at
org.eclipse.sisu.plexus.ProvidedPropertyBinding.injectProperty(ProvidedPropertyBinding.java:48)
at
org.eclipse.sisu.bean.BeanInjector.injectMembers(BeanInjector.java:52)
at
com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:128)
at
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:117)
at
com.google.inject.internal.ConstructorInjector.access$000(ConstructorInjector.java:32)
at
com.google.inject.internal.ConstructorInjector$1.call(ConstructorInjector.java:91)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:89)
at
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:259)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
at
org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48)
at
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
at
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
at
org.eclipse.sisu.plexus.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:133)
at
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
at
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
at
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
at
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1018)
at
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:59)
at
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at
com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
at
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
at
org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:260)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:252)
at
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:246)
at org.kie.scanner.embedder.MavenEmbedder.lookup(MavenEmbedder.java:527)
at
org.kie.scanner.embedder.MavenEmbedder.buildMavenExecutionRequest(MavenEmbedder.java:152)
at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:115)
at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:104)
at org.kie.scanner.embedder.MavenEmbedder.<init>(MavenEmbedder.java:131)
at
org.kie.scanner.embedder.MavenProjectLoader.parseMavenPom(MavenProjectLoader.java:18)
at
org.kie.scanner.embedder.MavenProjectLoader.loadMavenProject(MavenProjectLoader.java:48)
at org.kie.scanner.Aether.<init>(Aether.java:44)
at org.kie.scanner.Aether.getAether(Aether.java:54)
at
org.kie.scanner.MavenRepository.getMavenRepository(MavenRepository.java:45)
at org.kie.scanner.ArtifactResolver.<init>(ArtifactResolver.java:25)
at
org.kie.scanner.KieRepositoryScannerImpl.getArtifactResolver(KieRepositoryScannerImpl.java:67)
at
org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:88)
at
org.kie.scanner.KieRepositoryScannerImpl.loadArtifact(KieRepositoryScannerImpl.java:83)
at
org.drools.compiler.kie.builder.impl.KieRepositoryImpl.loadKieModuleFromMavenRepo(KieRepositoryImpl.java:113)
at
org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:99)
at
org.drools.compiler.kie.builder.impl.KieRepositoryImpl.getKieModule(KieRepositoryImpl.java:76)
at
org.drools.compiler.kie.builder.impl.KieServicesImpl.newKieContainer(KieServicesImpl.java:84)
at
com.icix.neutrino.bedrock.predicate.drools.extras.spring.KieScannedContainerCacheInitializingBean.afterPropertiesSet(KieScannedContainerCacheInitializingBean.java:44)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1541)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1479)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
at
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:608)
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at
org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
at com.icix.neutrino.terminus.hub.Foo.<clinit>(Foo.java:19)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:190)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
2014-03-07T15:29:50.379-0800 Sisu WARN (.:) [main] - Error injecting:
org.apache.maven.artifact.resolver.DefaultArtifactResolver
Exception in thread com.google.inject.ProvisionException: Guice provision
errors:
1) No implementation for org.eclipse.aether.impl.ArtifactDescriptorReader
was bound.
while locating org.eclipse.aether.impl.ArtifactDescriptorReader
for parameter 4 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
while locating org.eclipse.aether.RepositorySystem
while locating org.apache.maven.artifact.resolver.DefaultArtifactResolver
2) No implementation for org.eclipse.aether.impl.VersionRangeResolver was
bound.
while locating org.eclipse.aether.impl.VersionRangeResolver
for parameter 1 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
while locating org.eclipse.aether.RepositorySystem
while locating org.apache.maven.artifact.resolver.DefaultArtifactResolver
3) No implementation for org.eclipse.aether.impl.VersionResolver was bound.
while locating org.eclipse.aether.impl.VersionResolver
for parameter 0 at
org.eclipse.aether.internal.impl.DefaultRepositorySystem.<init>(Unknown
Source)
while locating org.eclipse.aether.internal.impl.DefaultRepositorySystem
at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
at ClassRealm[maven, parent: ClassRealm[maven-parent, parent: null]]
while locating org.eclipse.aether.RepositorySystem
while locating org.apache.maven.artifact.resolver.DefaultArtifactResolver
--
View this message in context: http://drools.46999.n3.nabble.com/Trying-to-load-a-module-from-Maven-coor...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 6 months
sharing guvnor cache files
by san_hegde
Hi,
I have configured local guvnor cache in my application. Drools and Guvnor version 5.2. My application is deployed in 2 managed servers in weblogic. So now application in both the servers refer to the same directory where guvnor cache is created.
Is there any issue in both the application referring to the same location for the guvnor cache files.?
Thank you
--
View this message in context: http://drools.46999.n3.nabble.com/sharing-guvnor-cache-files-tp4030712.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 6 months
Usage of the jcr2vfs migration tool
by dstern
Are there instructions anywhere for using the jcr2vfs migration tool?
I pruned my JCR repository (created under Guvnor 5.6.0.Final) until the
migration tool ran without error (which meant archiving all my brl format
assets among other things) but I'm not sure what to do with the output.
I copied the contents of outputVfs to my existing .niogit folder (leaving
the .niogit generated by the migration tool alone) but the migrated
repository doesn't show up. Is this because I didn't replace my existing
.niogit with the one generated by the tool?
--
View this message in context: http://drools.46999.n3.nabble.com/Usage-of-the-jcr2vfs-migration-tool-tp4...
Sent from the Drools: User forum mailing list archive at Nabble.com.
11 years, 6 months