[rules-users] unable to resolve Type Declaration class
Edson Tirelli
ed.tirelli at gmail.com
Thu Dec 3 14:28:10 EST 2009
The problem mentioned by Richard is fixed in trunk. Regarding Guvnor
379, I will ask Toni to re-test it. Thanks for pointing it out.
Regarding your comment on the documentation, it is documented here:
http://downloads.jboss.com/drools/docs/5.0.1.26597.FINAL/drools-expert/html_single/index.html#d0e3350
Edson
2009/12/3 Jaroslaw Kijanowski <kijanowski at gmail.com>
> Looks like it is related to this open jira:
> https://jira.jboss.org/jira/browse/GUVNOR-379
>
> Cheers,
> Jarek
>
> richarda wrote:
> > Yeah, its in the classpath.. and to be doubly sure just before the code
> I do
> > a
> > Signature s=new Signature();
> > and that works.. so jvm can find the Signature object.
> >
> > I have created https://jira.jboss.org/jira/browse/JBRULES-2348
> > I would love to know if any workarounds are possible, this has ground my
> > project to a halt.
> >
> > thanks
> > Ric
> >
> >
> > Edson Tirelli-4 wrote:
> >> Kris just reminded me of something: do you have the actual Message
> >> class
> >> in the test program classpath?
> >>
> >> When downloading the package from guvnor, I think it does not
> download
> >> the model jar... only the actual rules, etc...
> >>
> >> Edson
> >>
> >> 2009/11/25 richarda <richard.ambridge at gmail.com>
> >>
> >>> Also tried under 5.1.0M1 release.. same issue :(
> >>> Am i doing something wrong by declaring the @role in the Configuration
> >>> section?
> >>>
> >>>
> >>> richarda wrote:
> >>>> Still trying to get this to work.
> >>>> I have managed to create from a default (new) guvnor setup.
> >>>>
> >>>> Steps I do..
> >>>> 1. Create fresh guvnor
> >>>> 2. In eclipse create Message.java file in package com.sample, and
> >>> create
> >>>> a jar file
> >>>> 3. In guvnor import the model for the Message.jar file
> >>>> 4. In guvnor create a category
> >>>> 5. Create an import statement for import com.sample.Message
> >>>> 6. Create a simple technical rule, something like when, Message(),
> >>>> then, System.out.println(".");
> >>>> 7. Build the pkg
> >>>> 8. download the pkg
> >>>>
> >>>> use the code from previous post to load the pkg...
> >>>> it works fine..
> >>>>
> >>>> now, goto guvnor advanced view and change the Configuration from:
> >>>> import com.sample.Message
> >>>>
> >>>> to:
> >>>>
> >>>> import com.sample.Message;
> >>>>
> >>>> declare Message
> >>>> @role( event )
> >>>> end
> >>>>
> >>>>
> >>>> build the pkg,
> >>>> download the pkg,
> >>>> run the test program...
> >>>>
> >>>> I get:
> >>>> org.drools.RuntimeDroolsException: unable to resolve Type Declaration
> >>>> class 'Message'
> >>>> at
> >>> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:754)
> >>>> at
> >>>>
> >>>
> org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:515)
> >>>> at
> >>>>
> >>>
> org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
> >>>> at com.sample.DroolsTest.readKnowledgeBase(DroolsTest.java:69)
> >>>> at com.sample.DroolsTest.main(DroolsTest.java:27)
> >>>>
> >>>>
> >>>> richarda wrote:
> >>>>> So, my code is doing this:
> >>>>>
> >>>>> KnowledgeBaseConfiguration conf =
> >>>>> KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
> >>>>> conf.setOption(EventProcessingOption.STREAM);
> >>>>> KnowledgeBuilder builder =
> >>>>> KnowledgeBuilderFactory.newKnowledgeBuilder();
> >>>>> try {
> >>>>> File f = new File("/tmp/my.pkg");
> >>>>> InputStream stream = new FileInputStream(f);
> >>>>> if (stream == null) {
> >>>>> jlog.fatal("Unable to find rule pkg");
> >>>>> } else {
> >>>>> jlog.info("adding pkg");
> >>>>>
> >>>>> builder.add(ResourceFactory.newInputStreamResource(stream),
> >>>>> ResourceType.PKG);
> >>>>> }
> >>>>> } catch (Exception e) {
> >>>>> e.printStackTrace();
> >>>>> }
> >>>>> KnowledgeBase kbase =
> >>>>> KnowledgeBaseFactory.newKnowledgeBase(conf);
> >>>>>
> >>> kbase.addKnowledgePackages(builder.getKnowledgePackages());
> >>>>> jlog.info("setup creating knowledge session");
> >>>>> ksession = kbase.newStatefulKnowledgeSession();
> >>>>> jlog.info(" setup ksession created");
> >>>>>
> >>>>>
> >>>>> The pkg was created from Guvnor.
> >>>>>
> >>>>> If in the package declaration area in Guvnor, (where you put the
> >>> import
> >>>>> statements)
> >>>>> If I put
> >>>>> declare Signature
> >>>>> @role ( event )
> >>>>> end
> >>>>>
> >>>>> then build the package, save it to disk /tmp/my.pkg
> >>>>> on startup I get:
> >>>>>
> >>>>>
> >>>
> [#|2009-11-24T14:50:38.944+0000|WARNING|sun-appserver2.1|javax.enterprise.system.stream.err|_ThreadID=12;_ThreadName=pool-1-thread-3;_RequestID=7c35064d-757e-4519-b5eb-433db89e168d;|org.drools.RuntimeDroolsException:
> >>>>> unable to resolve Type Declaration class 'Signature'
> >>>>> at
> >>>>>
> org.drools.compiler.PackageBuilder.addPackage(PackageBuilder.java:754)
> >>>>> at
> >>>>>
> >>>
> org.drools.compiler.PackageBuilder.addKnowledgeResource(PackageBuilder.java:515)
> >>>>> at
> >>>>>
> >>>
> org.drools.builder.impl.KnowledgeBuilderImpl.add(KnowledgeBuilderImpl.java:25)
> >>>>>
> >>>>> I need to declare 'Signature' as an 'event'
> >>>>> Am I doing this wrong?
> >>>>>
> >>>>> If I do this all in Eclipse and load the DRL files manually it all
> >>> works.
> >>>>
> >>> --
> >>> View this message in context:
> >>>
> http://old.nabble.com/unable-to-resolve-Type-Declaration-class-tp26497326p26519888.html
> >>> Sent from the drools - user mailing list archive at Nabble.com.
> >>>
> >>> _______________________________________________
> >>> rules-users mailing list
> >>> rules-users at lists.jboss.org
> >>> https://lists.jboss.org/mailman/listinfo/rules-users
> >>>
> >>
> >>
> >> --
> >> Edson Tirelli
> >> JBoss Drools Core Development
> >> JBoss by Red Hat @ www.jboss.com
> >>
> >> _______________________________________________
> >> rules-users mailing list
> >> rules-users at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/rules-users
> >>
> >>
> >
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091203/3af1aeac/attachment.html
More information about the rules-users
mailing list