Michael,

Concerning iPojo itself, I think you won't find much tutorials outside
of iPojo's website. That website could definitely be improved and some
pages are outdated. I know iPojo is used in various companies, but
iPojo users are rather quiet compared to Guice or Spring/Blueprint
users who blog a lot more.

I suggest you take at look at the examples available at
https://svn.apache.org/repos/asf/felix/trunk/ipojo/examples/tutorial-maven
The samples are depending on iPojo 1.5.0-SNAPSHOT so be sure to update
the versions (in pom.xml files).

We switched to iPojo some time ago (from DS), and it was painless as
were already using Maven to build our projects. We simply had to
switch annotations and add the proper Maven configuration -- and then
benefit from all the other exciting features of iPojo.

There is a release coming soon that will fix a few bugs so in the mean
time we are following the trunk version. I suggest you take a look at
iPojo's JIRA if you encounter a bug during the build in the
maven-ipojo-plugin: if the bugs are marked as fix you will either have
to build your own local copy of iPojo (1.9.0-SNAPSHOT) or wait for a
release.

HTH,

Simon


On Fri, Oct 12, 2012 at 4:29 PM, Cook, Michael J. (OCTO)
<michael_j_c...@cable.comcast.com> wrote:
> Simon,
>
> Excellent. I will look online for tutorials explaining your suggested paths 
> forward. If you know of any good ones, please let me know.
>
> Mike
> Michael Cook
> VP Technology Innovation
> Comcast
> One Comcast Center
> Philadelphia, PA 19103
> (o) 215-286-8260
> (m) 609-458-0332
>
> ----- Original Message -----
> From: Simon Chemouil [mailto:schemo...@gmail.com]
> Sent: Friday, October 12, 2012 08:34 AM
> To: users@felix.apache.org <users@felix.apache.org>
> Subject: Re: Getting Started with iPOJO
>
> Michael,
>
> It seems like you are using an antique version of iPojo. The import
> you show in your manifest is 0.9.0 and the last release is 1.8.2 (that
> import is added by the manipulator).
>
> In an earlier message you said you were using the Eclipse plugin
> available on Clement's website. This plugin is not maintained anymore
> and while there is a new iPojo Eclipse plugin maintained elsewhere, I
> wouldn't advise using it. Rather, you should use the manipulator from
> ant or maven depending on how you build your project. If you choose
> the maven-ipojo-plugin, you can get decent Eclipse integration using
> Maven's Eclipse environment (M2E).
>
> HTH,
>
> Simon
>
> On Fri, Oct 12, 2012 at 2:17 PM, Cook, Michael J. (OCTO)
> <michael_j_c...@cable.comcast.com> wrote:
>> Sorry... I forgot to add back in the annotations in my Impl class.  I just
>> did and repackaged.  Please disregard the previous manifest.
>>
>>
>>
>> Manifest-Version: 1.0
>> Export-Package: org.apache.felix.ipojo.handler.temporal,org.apache.fel
>>  ix.ipojo.transaction,org.apache.felix.ipojo.extender,org.apache.felix
>>  .ipojo.whiteboard,org.apache.felix.ipojo.handlers.event,org.apache.fe
>>  lix.ipojo.handlers.jmx,org.apache.felix.ipojo.annotations,cook.michae
>>  l
>> iPOJO-Components: component { $classname="cook.michael.BogusClass" man
>>  ipulation { method { $name="$init" }}}component { $name="cook.michael
>>  .MyComponentImpl" $classname="cook.michael.MyComponentImpl" $public="
>>  true" org.apache.felix.ipojo.annotations:instantiate { }callback { $t
>>  ransition="invalidate" $method="stop" }callback { $transition="valida
>>  te" $method="start" }manipulation { method { $name="$init" }method {
>>  $name="start" }method { $name="stop" }}}
>> Built-By: clement
>> Tool: Bnd-0.0.249
>> Bundle-Name: Apache Felix iPOJO Annotations
>> Created-By: 1.6.0_35 (Apple Inc.) & iPOJO
>> Bundle-Vendor: The Apache Software Foundation
>> Bundle-Version: 1.8.2
>> Build-Jdk: 1.6.0_31
>> Bnd-LastModified: 1350044136955
>> Bundle-ManifestVersion: 2
>> Bundle-Description: iPOJO Annotations
>> Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
>> Bundle-DocURL: http://felix.apache.org/site/how-to-use-ipojo-annotatio
>>  ns.html
>> Import-Package: org.osgi.service.log;version=1.3, org.apache.felix.ipo
>>  jo.handler.temporal, org.apache.felix.ipojo.transaction, org.apache.f
>>  elix.ipojo.architecture;version=0.9.0, org.apache.felix.ipojo.extende
>>  r, org.apache.felix.ipojo.whiteboard, org.apache.felix.ipojo;version=
>>  0.9.0, org.apache.felix.ipojo.handlers.event, org.apache.felix.ipojo.
>>  handlers.jmx, org.osgi.service.cm;version=1.2, org.apache.felix.ipojo
>>  .annotations, cook.michael
>> Bundle-SymbolicName: iPojoTest
>> Originally-Created-By: Apache Maven Bundle Plugin
>>
>>
>>
>>
>>
>>
>> On 10/12/12 8:13 AM, "Cook, Michael J. (OCTO)"
>> <michael_j_c...@cable.comcast.com> wrote:
>>
>>>OK,
>>>
>>>Here it is inline (and attached).
>>>
>>>Manifest-Version: 1.0
>>>Export-Package: org.apache.felix.ipojo.handler.temporal,org.apache.fel
>>> ix.ipojo.transaction,org.apache.felix.ipojo.extender,org.apache.felix
>>> .ipojo.whiteboard,org.apache.felix.ipojo.handlers.event,org.apache.fe
>>> lix.ipojo.handlers.jmx,org.apache.felix.ipojo.annotations,cook.michae
>>> l
>>>iPOJO-Components: component { $classname="cook.michael.BogusClass" man
>>> ipulation { method { $name="$init" }}}
>>>Built-By: clement
>>>Tool: Bnd-0.0.249
>>>Bundle-Name: Apache Felix iPOJO Annotations
>>>Created-By: 1.6.0_35 (Apple Inc.) & iPOJO
>>>Bundle-Vendor: The Apache Software Foundation
>>>Bundle-Version: 1.8.2
>>>Build-Jdk: 1.6.0_31
>>>Bnd-LastModified: 1350043925031
>>>Bundle-ManifestVersion: 2
>>>Bundle-Description: iPOJO Annotations
>>>Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
>>>Bundle-DocURL: http://felix.apache.org/site/how-to-use-ipojo-annotatio
>>> ns.html
>>>Import-Package: org.osgi.service.log;version=1.3, org.apache.felix.ipo
>>> jo.handler.temporal, org.apache.felix.ipojo.transaction, org.apache.f
>>> elix.ipojo.architecture;version=0.9.0, org.apache.felix.ipojo.extende
>>> r, org.apache.felix.ipojo.whiteboard, org.apache.felix.ipojo;version=
>>> 0.9.0, org.apache.felix.ipojo.handlers.event, org.apache.felix.ipojo.
>>> handlers.jmx, org.osgi.service.cm;version=1.2, org.apache.felix.ipojo
>>> .annotations, cook.michael
>>>Bundle-SymbolicName: iPojoTest
>>>Originally-Created-By: Apache Maven Bundle Plugin
>>>
>>>
>>>
>>>Mike
>>>
>>>On 10/11/12 10:40 PM, "Göktürk Gezer" <gokturk.ge...@gmail.com> wrote:
>>>
>>>>I wanted MANIFEST.MF file actually :/
>>>>
>>>>On Fri, Oct 12, 2012 at 5:35 AM, Cook, Michael J. (OCTO) <
>>>>michael_j_c...@cable.comcast.com> wrote:
>>>>
>>>>> Hmmm...
>>>>>
>>>>> Here's my metadata.xml...
>>>>>
>>>>> I get the following error:
>>>>>
>>>>>  [ERROR] IPOJO-Extender : Cannot instantiate an abstract factory from
>>>>> org.apache.felix.ipojo.ComponentFactory
>>>>> org.apache.felix.ipojo.ConfigurationException: A component needs a
>>>>>class
>>>>> name : component immediate="true"
>>>>>  at
>>>>>
>>>>>org.apache.felix.ipojo.ComponentFactory.check(ComponentFactory.java:145)
>>>>>  at
>>>>>
>>>>>org.apache.felix.ipojo.ComponentFactory.<init>(ComponentFactory.java:121
>>>>>)
>>>>>  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>Method)
>>>>>  at
>>>>>
>>>>>sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorA
>>>>>c
>>>>>ce
>>>>> ssorImpl.java:39)
>>>>>  at
>>>>>
>>>>>sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons
>>>>>t
>>>>>ru
>>>>> ctorAccessorImpl.java:27)
>>>>>  at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>  at
>>>>>
>>>>>org.apache.felix.ipojo.Extender.createAbstractFactory(Extender.java:500)
>>>>>  at org.apache.felix.ipojo.Extender.parse(Extender.java:301)
>>>>>  at
>>>>>org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:237)
>>>>>  at org.apache.felix.ipojo.Extender.access$600(Extender.java:52)
>>>>>  at
>>>>>org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:769)
>>>>>  at java.lang.Thread.run(Thread.java:680)
>>>>>
>>>>>
>>>>> Here's what I had for the Bogus Class case on the metadata.xml:
>>>>>
>>>>> <ipojo>
>>>>> <component className="cook.michael.BogusClass"/>
>>>>> </ipojo>
>>>>>
>>>>>
>>>>>
>>>>> Mike
>>>>>
>>>>>
>>>>>
>>>>> On 10/11/12 10:23 PM, "Göktürk Gezer" <gokturk.ge...@gmail.com> wrote:
>>>>>
>>>>> >Just to be on the same page I installed eclipse-ipojo-plugin too.
>>>>> >
>>>>> >First finding : you don't need a bogus component. You can just type
>>>>> ><ipojo>
>>>>> ><component/>
>>>>> ></ipojo>
>>>>> >
>>>>> >inside you metadata.xml and it'll pass silently.
>>>>> >
>>>>> >Besides you might be hitting a bug we've fixed in trunk, because in
>>>>>the
>>>>> >same scenario I suggested to you I saw some elements in MANIFEST which
>>>>> >shouldn't be there.
>>>>> >Could you share me your MANIFEST for the final state(bogus
>>>>>metadata.xml +
>>>>> >annotations)?
>>>>> >
>>>>> >On Fri, Oct 12, 2012 at 5:05 AM, Cook, Michael J. (OCTO) <
>>>>> >michael_j_c...@cable.comcast.com> wrote:
>>>>> >
>>>>> >> Hi,
>>>>> >>
>>>>> >> >>Could you tell me what happens when you remove the <ipojo/>
>>>>>element
>>>>> >>too
>>>>> >> >>leaving the metadata.xml empty?
>>>>> >>
>>>>> >>
>>>>> >> I get an error when there is no contents in the metadata.xml file.
>>>>> >>
>>>>> >> >>I could suggest you a trick to define a bogus
>>>>> >> >>component inside metadata.xml(Will require you to maintain a bogus
>>>>> >>class)
>>>>> >> >>so that eclipse-ipojo-plugin will not fail on metadata.xml and
>>>>>move
>>>>> >>along
>>>>> >> >>its way with annotations.
>>>>> >>
>>>>> >>
>>>>> >> I added a bogus class into the cook.michael package and put the
>>>>> >> @Component/@Instantiate/@Validate/@Invalidate back into the code.
>>>>>Then
>>>>> >> added this component to the metadata.xml file:
>>>>> >> <ipojo>
>>>>> >> <component className="cook.michael.BogusClass"/>
>>>>> >> </ipojo>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>> >> The above results in the start and stop not being invoked.
>>>>> >>
>>>>> >> >>Instead of embedding Felix into eclipse you can use its own
>>>>>Equinox
>>>>> >> >>launcher.
>>>>> >>
>>>>> >> I'm developing atop Felix, because the target device is Felix based,
>>>>>so
>>>>> >>I
>>>>> >> would like to keep it on the same platform.
>>>>> >>
>>>>> >>
>>>>> >> Thank you for your help.
>>>>> >> Mike
>>>>> >>
>>>>> >>
>>>>> >> On 10/11/12 9:47 PM, "Göktürk Gezer" <gokturk.ge...@gmail.com>
>>>>>wrote:
>>>>> >>
>>>>> >> >On Fri, Oct 12, 2012 at 4:25 AM, Cook, Michael J. (OCTO) <
>>>>> >> >michael_j_c...@cable.comcast.com> wrote:
>>>>> >> >
>>>>> >> >> Göktürk,
>>>>> >> >>
>>>>> >> >> Thank you! I used #2 below and it worked well.  I was able to
>>>>>launch
>>>>> >>the
>>>>> >> >> bundle, and I saw it output the traces I had been looking for.
>>>>> >> >>
>>>>> >> >
>>>>> >> >Cool !
>>>>> >> >
>>>>> >> >
>>>>> >> >>
>>>>> >> >> On the first, if I remove the contents of the metadata.xml file,
>>>>>how
>>>>> >> >>can I
>>>>> >> >> use iPOJO to generate the bundle?  If I leave in the <ipojo/>
>>>>> >>element,
>>>>> >> >>and
>>>>> >> >> I run iPOJO's "Create Bundle", I get a warning: "Neither
>>>>>component
>>>>> >> >>types,
>>>>> >> >> nor instances in /Users/mcook008/Workspaces/MyEclipse
>>>>> >> >> 8.6/iPojoTest/metadata.xml". Start and stop are not called,
>>>>>although
>>>>> >>the
>>>>> >> >> class is marked with @Component and @Instantiate and start/stop
>>>>>is
>>>>> >> >>marked
>>>>> >> >> with @Validate/@Invalidate.
>>>>> >> >>
>>>>> >> >
>>>>> >> >Well, I actually never used eclipse-ipojo-plugin before but it
>>>>>seems
>>>>> >>to be
>>>>> >> >dependent on metadata.xml but also sees the annotations on its way.
>>>>> >> >
>>>>> >> >Could you tell me what happens when you remove the <ipojo/> element
>>>>>too
>>>>> >> >leaving the metadata.xml empty?
>>>>> >>
>>>>> >> >
>>>>> >> >If above trick didn't work and you want to stick with
>>>>> >>eclipse-ipojo-plugin
>>>>> >> >while using annotations. I could suggest you a trick to define a
>>>>>bogus
>>>>> >> >component inside metadata.xml(Will require you to maintain a bogus
>>>>> >>class)
>>>>> >> >so that eclipse-ipojo-plugin will not fail on metadata.xml and move
>>>>> >>along
>>>>> >> >its way with annotations.
>>>>> >> >
>>>>> >> >Also it seems to me that your development environment is heavy.
>>>>> >>Instead of
>>>>> >> >embedding Felix into eclipse you can use its own Equinox launcher.
>>>>> >> >I suggest you to have a look at
>>>>> >>
>>>>> >>>
>>>>>
>>>>>http://felix.apache.org/site/apache-felix-ipojo-eclipse-integration.html
>>>>> >> >where
>>>>> >> >you can see basic setup.(You can use annotations or metadata of
>>>>>your
>>>>> >> >choice
>>>>> >> >in this setup)
>>>>> >> >
>>>>> >> >
>>>>> >> >Gokturk
>>>>> >> >
>>>>> >> >
>>>>> >> >>
>>>>> >> >> Mike
>>>>> >> >>
>>>>> >> >>
>>>>> >> >>
>>>>> >> >> On 10/11/12 8:54 PM, "Göktürk Gezer" <gokturk.ge...@gmail.com>
>>>>> wrote:
>>>>> >> >>
>>>>> >> >> >Well i thought at first that you didn't specify metadata.xml but
>>>>>i
>>>>> >>see
>>>>> >> >>now
>>>>> >> >> >that you did. Mixing metadata.xml and annotations for one single
>>>>> >> >>component
>>>>> >> >> >is a mistake. For same component you must go with one of them.
>>>>> >> >> >
>>>>> >> >> >So there are 2 different ways for you:
>>>>> >> >> >
>>>>> >> >> >1- Using only annotations: Just disable the metadata.xml (easily
>>>>> >> >>delete it
>>>>> >> >> >or comment out the content ) and leave the annotations as it is.
>>>>> >> >> >2- Using only medata.xml: If you want to use metadata.xml then
>>>>> >>remove
>>>>> >> >>all
>>>>> >> >> >annotations including @validate and @invalidate and make sure
>>>>>your
>>>>> >> >> >metadata.xml looks like this:
>>>>> >> >> >
>>>>> >> >> ><ipojo>
>>>>> >> >> ><component className="cook.michael.MyComponentImpl">
>>>>> >> >> >    <callback transition="validate" method="start"/>
>>>>> >> >> >    <callback transition="invalidate" method="stop"/>
>>>>> >> >> ></component>
>>>>> >> >> ><instance component="cook.michael.MyComponentImpl"/>
>>>>> >> >> ></ipojo>
>>>>> >> >> >
>>>>> >> >> >Either way should bring you where you want. Just don't mix
>>>>> >>annotation
>>>>> >> >>and
>>>>> >> >> >metadata usage for same component.
>>>>> >> >> >
>>>>> >> >> >Regards,
>>>>> >> >> >Gokturk
>>>>> >> >> >
>>>>> >> >> >
>>>>> >> >> >
>>>>> >> >> >On Fri, Oct 12, 2012 at 3:32 AM, Cook, Michael J. (OCTO) <
>>>>> >> >> >michael_j_c...@cable.comcast.com> wrote:
>>>>> >> >> >
>>>>> >> >> >> Hi Göktürk,
>>>>> >> >> >>
>>>>> >> >> >> OK... Tried that.  Still the same thing.  There's not much to
>>>>>my
>>>>> >> >>code,
>>>>> >> >> >>so
>>>>> >> >> >> I'm including it below.  Please let me know if you see
>>>>>anything.
>>>>> >> >> >>
>>>>> >> >> >> Thank you for helping me,
>>>>> >> >> >> Mike
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> MyComponentImpl.java:
>>>>> >> >> >>
>>>>> >> >> >> package cook.michael;
>>>>> >> >> >>
>>>>> >> >> >> import java.io.BufferedWriter;
>>>>> >> >> >> import java.io.File;
>>>>> >> >> >> import java.io.FileWriter;
>>>>> >> >> >> import java.io.IOException;
>>>>> >> >> >>
>>>>> >> >> >> import org.apache.felix.ipojo.annotations.Component;
>>>>> >> >> >> import org.apache.felix.ipojo.annotations.Invalidate;
>>>>> >> >> >> import org.apache.felix.ipojo.annotations.Validate;
>>>>> >> >> >> import org.apache.felix.ipojo.annotations.Instantiate;
>>>>> >> >> >>
>>>>> >> >> >> @Component
>>>>> >> >> >> @Instantiate
>>>>> >> >> >> public class MyComponentImpl {
>>>>> >> >> >>
>>>>> >> >> >>     @Validate
>>>>> >> >> >>     public void start() throws IOException {
>>>>> >> >> >>       System.err.println("Starting: " );
>>>>> >> >> >>
>>>>> >> >> >>         System.out.println("I'm starting...");
>>>>> >> >> >>         try{
>>>>> >> >> >>            // Create file
>>>>> >> >> >>            FileWriter fstream = new
>>>>> >> >> >>FileWriter("/Users/mcook008/out.txt");
>>>>> >> >> >>            BufferedWriter out = new BufferedWriter(fstream);
>>>>> >> >> >>            out.write("Hello Java");
>>>>> >> >> >>            //Close the output stream
>>>>> >> >> >>            out.close();
>>>>> >> >> >>            }catch (Exception e){//Catch exception if any
>>>>> >> >> >>            System.err.println("Error: " + e.getMessage());
>>>>> >> >> >>            }
>>>>> >> >> >>         throw new IOException() ;
>>>>> >> >> >>     }
>>>>> >> >> >>
>>>>> >> >> >>     @Invalidate
>>>>> >> >> >>     public void stop() {
>>>>> >> >> >>         System.out.println("I'm leaving !");
>>>>> >> >> >>     }
>>>>> >> >> >> }
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> metadata.xml:
>>>>> >> >> >>
>>>>> >> >> >> <ipojo>
>>>>> >> >> >> <component className="cook.michael.MyComponentImpl"/>
>>>>> >> >> >> <instance component="cook.michael.MyComponentImpl"/>
>>>>> >> >> >> </ipojo>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> iPojoTest.bnd:
>>>>> >> >> >>
>>>>> >> >> >> Import-Package: *
>>>>> >> >> >> Export-Package: *
>>>>> >> >> >> #Private-Package:
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> Generated manefest.mf:
>>>>> >> >> >>
>>>>> >> >> >> Manifest-Version: 1.0
>>>>> >> >> >> Export-Package:
>>>>> >> >>org.apache.felix.ipojo.handler.temporal,org.apache.fel
>>>>> >> >> >>
>>>>> >>
>>>>>>>ix.ipojo.transaction,org.apache.felix.ipojo.extender,org.apache.felix
>>>>> >> >> >>
>>>>> >>
>>>>>>>.ipojo.whiteboard,org.apache.felix.ipojo.handlers.event,org.apache.fe
>>>>> >> >> >>
>>>>> >>
>>>>>>>lix.ipojo.handlers.jmx,org.apache.felix.ipojo.annotations,cook.michae
>>>>> >> >> >>  l
>>>>> >> >> >> iPOJO-Components: component {
>>>>> >> >>$classname="cook.michael.MyComponentImpl
>>>>> >> >> >>  " manipulation { method { $name="$init" }method {
>>>>>$name="start"
>>>>> >> >>}meth
>>>>> >> >> >>  od { $name="stop" }}}instance {
>>>>> >> >>$component="cook.michael.MyComponentI
>>>>> >> >> >>  mpl" }component { $name="cook.michael.MyComponentImpl"
>>>>> >> >>$classname="co
>>>>> >> >> >>  ok.michael.MyComponentImpl" $public="true"
>>>>> >> >>org.apache.felix.ipojo.ann
>>>>> >> >> >>  otations:instantiate { }callback { $transition="invalidate"
>>>>> >> >>$method="
>>>>> >> >> >>  stop" }callback { $transition="validate" $method="start"
>>>>> >> >>}manipulatio
>>>>> >> >> >>  n { method { $name="$init" }method { $name="start" }method {
>>>>> >> >>$name="s
>>>>> >> >> >>  top" }}}
>>>>> >> >> >> Built-By: clement
>>>>> >> >> >> Tool: Bnd-0.0.249
>>>>> >> >> >> Bundle-Name: Apache Felix iPOJO Annotations
>>>>> >> >> >> Created-By: 1.6.0_35 (Apple Inc.) & iPOJO
>>>>> >> >> >> Bundle-Vendor: The Apache Software Foundation
>>>>> >> >> >> Bundle-Version: 1.8.2
>>>>> >> >> >> Build-Jdk: 1.6.0_31
>>>>> >> >> >> Bnd-LastModified: 1350001458935
>>>>> >> >> >> Bundle-ManifestVersion: 2
>>>>> >> >> >> Bundle-Description: iPOJO Annotations
>>>>> >> >> >> Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
>>>>> >> >> >> Bundle-DocURL:
>>>>> >> >>http://felix.apache.org/site/how-to-use-ipojo-annotatio
>>>>> >> >> >>  ns.html
>>>>> >> >> >> Import-Package: org.osgi.service.log;version=1.3,
>>>>> >> >>org.apache.felix.ipo
>>>>> >> >> >>  jo.handler.temporal, org.apache.felix.ipojo.transaction,
>>>>> >> >>org.apache.f
>>>>> >> >> >>  elix.ipojo.architecture;version=0.9.0,
>>>>> >> >>org.apache.felix.ipojo.extende
>>>>> >> >> >>  r, org.apache.felix.ipojo.whiteboard,
>>>>> >> >>org.apache.felix.ipojo;version=
>>>>> >> >> >>  0.9.0, org.apache.felix.ipojo.handlers.event,
>>>>> >> >>org.apache.felix.ipojo.
>>>>> >> >> >>  handlers.jmx, org.osgi.service.cm;version=1.2,
>>>>> >> >>org.apache.felix.ipojo
>>>>> >> >> >>  .annotations, cook.michael
>>>>> >> >> >> Bundle-SymbolicName: iPojoTest
>>>>> >> >> >> Originally-Created-By: Apache Maven Bundle Plugin
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >> On 10/11/12 7:54 PM, "Göktürk Gezer" <gokturk.ge...@gmail.com>
>>>>> >> wrote:
>>>>> >> >> >>
>>>>> >> >> >> >Hi,
>>>>> >> >> >> >
>>>>> >> >> >> >First of all @Component is mandatory.(For annotation based
>>>>> >>usage).
>>>>> >> >> >> >
>>>>> >> >> >> >But this only defines your component. To actually instantiate
>>>>>it
>>>>> >>you
>>>>> >> >> >> >should
>>>>> >> >> >> >do it deliberately. One way to do that is using @Instantiate
>>>>> >> >> >>annotation.
>>>>> >> >> >> >
>>>>> >> >> >> >So your code would be like:
>>>>> >> >> >> >
>>>>> >> >> >> >@Component
>>>>> >> >> >> >@Instantiate
>>>>> >> >> >> >public class foo{
>>>>> >> >> >> >
>>>>> >> >> >> >  @Validate
>>>>> >> >> >> >  public void start()
>>>>> >> >> >> >..........
>>>>> >> >> >> >..........
>>>>> >> >> >> >}
>>>>> >> >> >> >
>>>>> >> >> >> >On Fri, Oct 12, 2012 at 1:00 AM, Cook, Michael J. (OCTO) <
>>>>> >> >> >> >michael_j_c...@cable.comcast.com> wrote:
>>>>> >> >> >> >
>>>>> >> >> >> >> Sorry. Just rechecked. Used @ Component on the class. And
>>>>> >> >> >> >> @Invalidate/@validate on the methods. Just tried removing
>>>>>the
>>>>> >> >> >> >>@Component.
>>>>> >> >> >> >> Same result. No output.
>>>>> >> >> >> >>
>>>>> >> >> >> >> Mike
>>>>> >> >> >> >> Michael Cook
>>>>> >> >> >> >> VP Technology Innovation
>>>>> >> >> >> >> Comcast
>>>>> >> >> >> >> One Comcast Center
>>>>> >> >> >> >> Philadelphia, PA 19103
>>>>> >> >> >> >> (o) 215-286-8260
>>>>> >> >> >> >> (m) 609-458-0332
>>>>> >> >> >> >>
>>>>> >> >> >> >> ----- Original Message -----
>>>>> >> >> >> >> From: Cook, Michael J. (OCTO)
>>>>> >> >> >> >> Sent: Thursday, October 11, 2012 05:47 PM
>>>>> >> >> >> >> To: 'users@felix.apache.org' <users@felix.apache.org>
>>>>> >> >> >> >> Subject: Re: Getting Started with iPOJO
>>>>> >> >> >> >>
>>>>> >> >> >> >> I used @validate/@invalidate alone.
>>>>> >> >> >> >>
>>>>> >> >> >> >> Mike
>>>>> >> >> >> >>
>>>>> >> >> >> >> Michael Cook
>>>>> >> >> >> >> VP Technology Innovation
>>>>> >> >> >> >> Comcast
>>>>> >> >> >> >> One Comcast Center
>>>>> >> >> >> >> Philadelphia, PA 19103
>>>>> >> >> >> >> (o) 215-286-8260
>>>>> >> >> >> >> (m) 609-458-0332
>>>>> >> >> >> >>
>>>>> >> >> >> >> ----- Original Message -----
>>>>> >> >> >> >> From: Göktürk Gezer [mailto:gokturk.ge...@gmail.com]
>>>>> >> >> >> >> Sent: Thursday, October 11, 2012 05:39 PM
>>>>> >> >> >> >> To: users@felix.apache.org <users@felix.apache.org>
>>>>> >> >> >> >> Subject: Re: Getting Started with iPOJO
>>>>> >> >> >> >>
>>>>> >> >> >> >> Hi,
>>>>> >> >> >> >>
>>>>> >> >> >> >> I need to ask this first since it's not on your code
>>>>>snippet:
>>>>> >>Did
>>>>> >> >>you
>>>>> >> >> >> >>use
>>>>> >> >> >> >> @Component annotation for class where you've declared your
>>>>> >>start()
>>>>> >> >> >> >>stop()
>>>>> >> >> >> >> methods? Or did you use @Validate,@Invalidate alone?
>>>>> >> >> >> >>
>>>>> >> >> >> >>
>>>>> >> >> >> >> *Regards,*
>>>>> >> >> >> >> *Gokturk*
>>>>> >> >> >> >>
>>>>> >> >> >> >> On Thu, Oct 11, 2012 at 8:13 PM, Cook, Michael J. (OCTO) <
>>>>> >> >> >> >> michael_j_c...@cable.comcast.com> wrote:
>>>>> >> >> >> >>
>>>>> >> >> >> >> > Hi,
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I can't seem to find a good article that will help me
>>>>>resolve
>>>>> >> >>the
>>>>> >> >> >> >> "getting
>>>>> >> >> >> >> > started" issue I am facing.
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I am using Eclipse Juno (4.2) on my Mac.
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I have downloaded and installed the iPOJO eclipse plugin,
>>>>> >>from:
>>>>> >> >> >> >> > http://clement.plop-plop.net/update/
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I have created a sample project following the
>>>>>instructions
>>>>> >>at:
>>>>> >> >> >> >> > http://felix.apache.org/site/ipojo-eclipse-plug-in.html
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I have integrated Felix into Eclipse as a project,
>>>>>following
>>>>> >> >> >> >>instructions
>>>>> >> >> >> >> > here:
>>>>> >> >> >>
>>>>>http://felix.apache.org/site/integrating-felix-with-eclipse.html
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I have downloaded the following iPOJO bundle:
>>>>> >> >> >> >> > org.apache.felix.ipojo-1.8.2.jar
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I've launched Felix in the Eclipse console and I've
>>>>>installed
>>>>> >> >>the
>>>>> >> >> >> >> > org.apache.felix.ipojo-1.8.2.jar bundle and started it.
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I've created a test bundle using iPOJO called
>>>>>iPojoTest.jar
>>>>> >>and
>>>>> >> >> >>I've
>>>>> >> >> >> >> > installed it and started it in the OSGI console.
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I run bundles in the console and I get:
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > g! bundles
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     0|Active     |    0|org.apache.felix.framework
>>>>>(3.0.7)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     1|Active     |    1|org.apache.felix.bundlerepository
>>>>> >> >>(1.6.2)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     2|Active     |    1|org.apache.felix.gogo.command
>>>>>(0.6.1)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     3|Active     |    1|org.apache.felix.gogo.runtime
>>>>>(0.6.1)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     4|Active     |    1|org.apache.felix.gogo.shell
>>>>>(0.6.1)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >    12|Active     |    1|iPojoTest (1.4.0)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >    13|Active     |    1|org.apache.felix.ipojo (1.8.2)
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > So, the bundle seems to have started.
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > But I don't get any console output from my sysoutsŠ
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > Here are the start() and stop() methods:
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >  @Validate
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     public void start() throws IOException {
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                 System.out.println("I'm starting...");
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >         try{
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >           // Create file
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   FileWriter fstream = new
>>>>> >> >> >> >> > FileWriter("/Users/mcook008/out.txt");
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   BufferedWriter out = new
>>>>> >> >>BufferedWriter(fstream);
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   out.write("Hello Java");
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   //Close the output stream
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   out.close();
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   }catch (Exception e){//Catch exception
>>>>>if
>>>>> >>any
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   System.err.println("Error: " +
>>>>> >> >>e.getMessage());
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >                   }
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >         throw new IOException() ;
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     }
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     @Invalidate
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     public void stop() {
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >         System.out.println("I'm leaving !");
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >     }
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > I added in the file write to see if a file would be
>>>>>created.
>>>>> >> >>There
>>>>> >> >> >> >>is no
>>>>> >> >> >> >> > file created.  So, while OSGi thinks the bundle is
>>>>>ACTIVE,
>>>>> >>the
>>>>> >> >> >>start
>>>>> >> >> >> >> method
>>>>> >> >> >> >> > appears never have to been called.
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > Can anyone tell me what I may have done wrong or provide
>>>>>a
>>>>> >>clue
>>>>> >> >>as
>>>>> >> >> >>to
>>>>> >> >> >> >> what
>>>>> >> >> >> >> > to look at to help diagnose the problem?
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > Thanks,
>>>>> >> >> >> >> >
>>>>> >> >> >> >> > Mike
>>>>> >> >> >> >> >
>>>>> >> >> >> >> >
>>>>> >> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >>---------------------------------------------------------------------
>>>>> >> >> >> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>>> >> >> >> For additional commands, e-mail: users-h...@felix.apache.org
>>>>> >> >> >>
>>>>> >> >> >>
>>>>> >> >>
>>>>> >> >>
>>>>> >> >>
>>>>>---------------------------------------------------------------------
>>>>> >> >> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>>> >> >> For additional commands, e-mail: users-h...@felix.apache.org
>>>>> >> >>
>>>>> >> >>
>>>>> >>
>>>>> >>
>>>>> >>
>>>>>---------------------------------------------------------------------
>>>>> >> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>>> >> For additional commands, e-mail: users-h...@felix.apache.org
>>>>> >>
>>>>> >>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>>> For additional commands, e-mail: users-h...@felix.apache.org
>>>>>
>>>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>>>For additional commands, e-mail: users-h...@felix.apache.org
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
>> For additional commands, e-mail: users-h...@felix.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
> For additional commands, e-mail: users-h...@felix.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
> For additional commands, e-mail: users-h...@felix.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org

Reply via email to