Ok, thanks, Steve.

I also just noticed that I need to start a new thread.

http://avalon.apache.org/developing/framework.html


Startable

The Startable interface is used by any component that is constantly running
for the duration of its life. The interface defines two methods: start and
stop . Neither method has any parameters.

The contract surrounding this interface is that the start method is called
once after the component is fully initialized, and the stop method is called
once before the component is disposed of. Neither method will be called more
than once, and start will always be called before stop . Furthermore, the
method must return, it can not go into a endless loop. From this follows
that the component should create a thread and call the Thread.start() method
inside this method to ctart the continous processing. The stop() method
should interrupt the thread in a safe manner. This should be done by
variables and the Thread.interrupt() method, slightly depending on how the
thread is operating. Implications of using this interface require that the
start and stop methods be conducted safely (unlike the Thread.stop method)
and not render the system unstable.






> -----Original Message-----
> From: Stephen McConnell [mailto:[EMAIL PROTECTED]
> Sent: July 20, 2004 19:19
> To: 'Avalon framework users'; [EMAIL PROTECTED]
> Subject: RE: Timeout problem
>
>
>
>
> First off - you can locate where the deployment timeout is occurring by
> switching in -debug mode.  You should see the commissioner logging the
> different steps involved in launching your component.  That will give
> you an idea of where the issue is.
>
> If your component is legitimately taking longer than 1000ms to do is
> stuff you should modify the preferred deployment timeout for the
> component - you can do this by declaring the following class level
> javadoc tag in the component source:
>
>   @avalon.attribute
>       key="urn:composition:deployment.timeout" value="0"
>
> The value is "0" the deployment can potentially hang merlin because this
> means 'wait indefinitely'.  If the component is know to have a heavy
> deployment time then its better to give a value that is a reasonable
> timeout value for a slow machine.
>
> Cheers, Steve.
>
>
> -----Original Message-----
> From: David Leangen [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, July 20, 2004 10:17 AM
> To: [EMAIL PROTECTED]
> Subject: Timeout problem
>
>
> Steve,
>
> I implemented Startable, as you suggested, but I'm still getting the
> timeout
> exception.
>
> What am I doing wrong?
>
> Thanks!
>
>
> <snip/>
>
> [DEBUG  ] (pubmed_jp.fileSplitterProvider.lifecycle): applying startup
> [DEBUG  ] (pubmed_jp.fileSplitterProvider): ----Starting
> KFileSplitterProvider service-----
> [DEBUG  ] (kernel): state: initialized
> ---- exception
> report ----------------------------------------------------------
> Exception: org.apache.avalon.merlin.KernelException
> Message: Kernel startup failure.
> ----
> cause
> ---------------------------------------------------------------------
> Exception: org.apache.avalon.merlin.KernelException
> Message: Cannot deploy application.
> ----
> cause
> ---------------------------------------------------------------------
> Exception:
> org.apache.avalon.composition.model.FatalCommissioningException
> Message: target: [[/pubmed_jp/fileSplitterComponent]] did not respond
> within
> the timeout period: [1000] and failed to respond to an interrupt.
> ---- stack
> trace ---------------------------------------------------------------
> org.apache.avalon.composition.model.FatalCommissioningException: target:
> [[/pubmed_jp/fileSplitterComponent]] did not respond within the timeout
> period: [1000] and failed to respond to an interrupt.
> org.apache.avalon.composition.model.impl.CommissionRequest.waitForComple
> tion
> (Unknown Source)
> org.apache.avalon.composition.model.impl.Commissioner.commission(Unknown
> Source)
> org.apache.avalon.composition.model.impl.DefaultContainmentModel.commiss
> ion(
> Unknown Source)
> org.apache.avalon.composition.model.impl.Commissioner.run(Unknown
> Source)
> java.lang.Thread.run(Thread.java:536)
> ------------------------------------------------------------------------
> ----
> ----
>
> [DEBUG  ] (kernel): shutdown event
> [DEBUG  ] (kernel): disposal
>
>
>
>
> ---------------------------------------------------------------------
> 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]

Reply via email to