Hi, Could you try :
> ipojo:instances Regards, Clement On 24 janv. 2014, at 20:49, Zaid Jamal Saeed Al Mahmoud <[email protected]> wrote: > Hey, I manipulated my bundle using Ipojo Ant Task, as the following: > > <project> > <target name="main"> > <!-- Change the path to point on the iPOJO Ant task jar--> > <taskdef name="ipojo" > classname="org.apache.felix.ipojo.task.IPojoTask" > > classpath="C:/Users/zaid.almahmoud/Dropbox/EBTIC/ADERE/feasibility-codes/ipojo/ipojo-distribution-1.11.0/bundle/org.apache.felix.ipojo.ant-1.11.0.jar"/> > <ipojo > > input="C:/Users/zaid.almahmoud/Desktop/plugins/HelloService_1.0.0.201401222235.jar" > > output="C:/Users/zaid.almahmoud/Desktop/plugins/Manipulated_HelloService.jar" > > /> > </target> > </project> > > > Now, I can see in my app that the factory is valid. This is the output in the > command: > g! ipojo:factories > Factory my-factory (VALID) > Factory org.apache.felix.ipojo.arch.gogo.Arch (UNKNOWN) - Private > > Therefore the factory "my-factory" is available unlike before. > > > However, my instance is not available, which was created as the following: > DefaultInstanceDeclaration providerDeclaration = new > DefaultInstanceDeclaration(b.getBundleContext(), "my-factory"); > providerDeclaration.start(); > > Again, this does not show an error, but it doesn't display the expected > output in the start() method of the bundle, and on the command, I can see: > > g! ipojo:instance my-factory-0 > Instance named 'my-factory-0' not found > > > Can you help please? Thanks. > > > > > > > -----Original Message----- > From: Zaid Jamal Saeed Al Mahmoud [mailto:[email protected]] > Sent: Thursday, January 23, 2014 2:15 PM > To: [email protected] > Subject: RE: iPOJO Components instantiated but no visible output > > It displays this: > > ipojo:factories > Factory org.apache.felix.ipojo.arch.gogo.Arch (UNKNOWN) - Private > > > I am not sure what you mean by iPOJO manipulation on my bundles, > But again, I am not using ANT or MAVEN. I export the bundles normally in > eclipse (Using export->deployable plugins and fragments). > Could it be the issue? > > > -----Original Message----- > From: Clement Escoffier [mailto:[email protected]] > Sent: Thursday, January 23, 2014 11:52 AM > To: Apache Felix - Users Mailing List > Subject: Re: iPOJO Components instantiated but no visible output > > Hi, > > The output are interesting, it looks like your instances are not declared > correctly. Can you try: > >> ipojo:factories > > > By the way, how are you applying the iPOJO manipulation on your bundles ? > > Regards, > > Clement > > On 23 janv. 2014, at 08:30, Zaid Jamal Saeed Al Mahmoud > <[email protected]> wrote: > >> Okay, I did that. Here's the output: >> >> g! ipojo:instances >> Instance org.apache.felix.ipojo.arch.gogo.Arch-0 -> valid >> >> g! ipojo:instance my-factory-0 >> g! Instance named 'my-factory-0' not found >> >> g! ipojo:instance my-consumer-factory-0 >> Instance named 'my-consumer-factory-0' not found >> >> >> >> >> -----Original Message----- >> From: Clement Escoffier [mailto:[email protected]] >> Sent: Thursday, January 23, 2014 10:58 AM >> To: Apache Felix - Users Mailing List >> Subject: Re: iPOJO Components instantiated but no visible output >> >> Hi, >> >> Could you use the 'instances' command to retrieve the list of instances and >> their state ? >> (http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-tools/ipojo-arch-command.html) >> >>> ipojo:instances >> // dump all instances and declaration >>> ipojo:instance my-factory-0 >> // introspect the first instance >>> ipojo:instance my-consumer-factory-0 >> // introspect the second instance >> >> Regards, >> >> Clement >> >> >> On 22 janv. 2014, at 20:38, Zaid Jamal Saeed Al Mahmoud >> <[email protected]> wrote: >> >>> I have 2 iPOJO Components. >>> 1- A Provider bundle that provides "Hello" service. Below is the >>> implementation of the component: >>> package helloipojo; >>> >>> >>> import helloipojo.service.HelloService; >>> >>> import org.apache.felix.ipojo.annotations.Component; >>> import org.apache.felix.ipojo.annotations.Invalidate; >>> import org.apache.felix.ipojo.annotations.Provides; >>> import org.apache.felix.ipojo.annotations.Validate; >>> >>> >>> @Component(name="my-factory") >>> @Provides >>> public class HelloServiceImpl implements HelloService{ >>> >>> @Override >>> public void sayHello() { >>> >>> System.out.println("Hello iPojo!"); >>> >>> } >>> >>> >>> @Validate >>> public void start() throws Exception { >>> >>> System.out.println("Hello, I am ipojo bundle start method"); >>> >>> } >>> >>> @Invalidate >>> public void stop() throws Exception { >>> >>> System.out.println("Bye Bye, I am ipojo bundle stop method"); >>> >>> } >>> >>> >>> >>> } >>> 2- Consumer bundle that uses HelloService object as the follwing: >>> package helloserviceconsumer; >>> >>> import helloipojo.service.HelloService; >>> >>> import org.apache.felix.ipojo.annotations.Component; >>> import org.apache.felix.ipojo.annotations.Invalidate; >>> import org.apache.felix.ipojo.annotations.Requires; >>> import org.apache.felix.ipojo.annotations.Validate; >>> >>> @Component(name="my-consumer-factory") >>> public class HelloConsumer { >>> @Requires >>> HelloService helloObject; >>> >>> @Validate >>> private void start() { >>> // Starting method >>> //... >>> helloObject.sayHello(); >>> //... >>> } >>> >>> @Invalidate >>> protected void stop() { >>> // Stopping method >>> if(helloObject!=null) { helloObject.sayHello(); >>> } >>> >>> else System.out.println("hello service GONE!"); >>> } >>> } >>> In a seperate Java application, I load these two bundles and start them on >>> Apache Felix as the following: >>> Bundle b = >>> bundleContext1.installBundle("file:C:\\Users\\zaid.almahmoud\\Desktop\ >>> \plugins\\HelloService_1.0.0.201401222235.jar"); >>> b.start(); >>> >>> Bundle c = >>> bundleContext1.installBundle("file:C:\\Users\\zaid.almahmoud\\Desktop\ >>> \plugins\\HelloServiceConsumer_1.0.0.201401222257.jar"); >>> c.start(); >>> All the above works fine. >>> Now, I would like to instantiate these two components dynamically and >>> observe the consumption of the bundle provider service by the bundle >>> consumer. I used Instance Declaration, as the following: >>> DefaultInstanceDeclaration providerDeclaration = new >>> DefaultInstanceDeclaration(b.getBundleContext(), "my-factory"); >>> providerDeclaration.start(); >>> >>> DefaultInstanceDeclaration consumerDeclaration = new >>> DefaultInstanceDeclaration(c.getBundleContext(), "my-consumer-factory"); >>> consumerDeclaration.start(); No errors when >>> running the application. However, I could not see the "Hello" Messages that >>> exists in the start() methods of both the service provider and consumer. I >>> see absolutely NOTHING. That means the components are not instantiated >>> correctly. Where did I go wrong? Thanks. >>> >>> >>> >>> Zaid. >>> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

