RE: Embedding Merlin in Main method

S V Subramonian <[email protected]>
Newsgroups gmane.comp.jakarta.avalon.user
Message-ID <[email protected]>
Hi Stephen,

Thanks for your answer. It helped me to fix the issue
that I had. Thanks again.

regards,
Subbu

--- Stephen McConnell <[email protected]> wrote:

> 
> Subbu:
> 
> Looking though your embeddor code you are basically
> setting up an empty
> kernel.  In particular, on the following lines you
> are creating the
> default kernel factory criteria and using this
> without qualification to
> construct the kernel.
> 
>   criteria = factory.createDefaultCriteria();
>   m_kernel = factory.create( criteria );
> 
> The difference between the above the cli example is
> that the cli example
> qualifies a lot of criteria parameters. The absence
> of any criteria
> modification suggests that you are declaring
> everything within you
> merlin.properties file.  
> 
> However, in your email from the 27th, you have
> included the info trace
> which provides a summary of settings of the kernel
> (derived from the
> criteria supplied to the factory) and they show that
> you have not
> declared any block deployment targets.
> 
> In particular ... 
> 
> >  ${merlin.deployment} ==
> 
> If you compare this to running your example from the
> command line with
> the -info option you will see that the
> 'merlin.deployment' property is
> pointing to something concrete.  You can update you
> merlin.properties
> files with something like:
> 
> merlin.info = true
> merlin.debug = true
> merlin.deployment = tahiti.block
> 
> Or - you can get really adventurous and do this
> programmatically using a
> facility.
> 
> If you have a moment come on over to #merlin on
> irc.freenode.net where a
> bunch of merlin peeps (dev and users) are normally
> connected.
> 
> Cheers, Steve.
> 
> 
> > All the examples that I looked at are executing
> all
> > the components while running Merlin from command
> line,
> > instaed I am looking for an example that executes
> a
> > given component name. In other words, I was not
> able
> > to find an example that triggers an event that
> > executes a component.
> > 
> > I browsed through Merlin website and source code
> and
> > found "Embedding Merlin in a Main method" and an
> > AbstractMerlinTestCase class that has a method
> > resolve. I thought of using this approach to
> execute a
> > given component name.
> > 
> > 
> > For your information, My component
> "/tahiti/simple" is
> > getting executed when I run using the Merlin
> command
> > line , with the same environment that I tried the
> > "Embedding Merlin in a Main method". I have
> attached a
> > file that conatins code snippets which I used for
> > testing.
> > 
> > Is my approach correct or do you have any other
> idea.
> > Could you please help me with this.
> > 
> > regards,
> > Subbu
> > 
> > 
> > --- Stephen McConnell <[email protected]>
> wrote:
> > 
> > >
> > >
> > > From the following we can see that your
> deployment
> > > scenario is
> > > presumable defined within the kernel because
> your
> > > not declaring any
> > > deployment targets.
> > >
> > >
> > > >   ${merlin.kernel} ==
> > > file:/D:/merlin/config/kernel.xml
> > > >   ${merlin.deployment} ==
> > >
> > >
> > > Later on in the trace we can see that your
> > > classloader definition isn't
> > > adding much - in fact it not adding anything in
> the
> > > classpath, and
> > > reasonably there are no component types located.
> > >
> > >
> > > > [DEBUG  ] (classloader): base: ${merlin.dir}
> > > > [DEBUG  ] (classloader): classpath:
> > > > [DEBUG  ] (classloader.types): type install
> count:
> > > 0
> > > > [DEBUG  ] (classloader.types): type
> registration
> > > complete
> > >
> > >
> > > Moving on with what is in effect an empty
> container
> > > ...
> > >
> > > > [DEBUG  ] (kernel): state: initializing
> > > > [DEBUG  ] (kernel): kernel established
> > > > [DEBUG  ] (kernel): state: initialized
> > > > [DEBUG  ] (kernel): install phase
> > > > [DEBUG  ] (kernel): customize phase
> > > > [DEBUG  ] (kernel): startup phase
> > > > [DEBUG  ] (kernel): application assembly
> > > > [DEBUG  ] (kernel): state: assembly
> > > > [DEBUG  ] (): assembly phase
> > > > [DEBUG  ] (kernel): application deployment
> > > > [DEBUG  ] (kernel): state: deployment
> > > > [DEBUG  ] (kernel): state: started
> > > > Calling HelloWorld in Test
> > > > [DEBUG  ] (): Can't find 'tahiti' in model
> > > repository:
> > > > {}
> > > > java.lang.Exception: ---- runtime exception
> report
> > > >
> --------------------------------------------------
> > > > Exception: java.lang.IllegalArgumentException
> > > > Message: Unable to locate a container with
> name
> > > > [tahiti] within the container [[/]].
> > >
> > > Which is a perfectly reasonable situation -
> you're
> > > asking for a
> > > component that does not exist.
> > >
> > > Can we roll back a bit here and provide a
> summary of
> > > what exactly are
> > > you trying to do (sorry if you have already
> provided
> > > this info).  Anyway
> > > - seems to me you may be going about it the
> wrong
> > > way.
> > >
> > > Stephen.
> > >
> > >
> > >
> > >
> >
>
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > > [email protected]
> > > For additional commands, e-mail:
> > > [email protected]
> > >
> > >
> > 
> > 
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Mail is new and improved - Check it out!
> > http://promotions.yahoo.com/new_mail
> 
> 
>
---------------------------------------------------------------------
> 
=== message truncated ===



		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
http://promotions.yahoo.com/new_mail
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.