[
https://issues.apache.org/activemq/browse/CAMEL-1515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Willem Jiang updated CAMEL-1515:
--------------------------------
Description:
Just found the the isStarted() is used for starting the components in
CamelContext when the CamelContext is starting,
The change of isStarted() recently will broke below code.
{code}
public boolean isStarted() {
return started.get()&&!starting.get();
}
{code}
{code}
public Component getComponent(String name) {
// synchronize the look up and auto create so that 2 threads can't
// concurrently auto create the same component.
synchronized (components) {
Component component = components.get(name);
if (component == null && autoCreateComponents) {
try {
component = getComponentResolver().resolveComponent(name,
this);
if (component != null) {
addComponent(name, component);
if (isStarted()) {
// If the component is looked up after the context
is started,
// lets start it up.
startServices(component);
}
}
} catch (Exception e) {
throw new RuntimeCamelException("Could not auto create
component: " + name, e);
}
}
return component;
}
}
{code}
so I want to add isStratingFinished() method to check if the starting process
is finished.
was:
Just found the the isStarted() is used for starting the components in
CamelContext,
{code}
public Component getComponent(String name) {
// synchronize the look up and auto create so that 2 threads can't
// concurrently auto create the same component.
synchronized (components) {
Component component = components.get(name);
if (component == null && autoCreateComponents) {
try {
component = getComponentResolver().resolveComponent(name,
this);
if (component != null) {
addComponent(name, component);
if (isStarted()) {
// If the component is looked up after the context
is started,
// lets start it up.
startServices(component);
}
}
} catch (Exception e) {
throw new RuntimeCamelException("Could not auto create
component: " + name, e);
}
}
return component;
}
}
{code}
so I want to add isStratingFinished() method to check if the starting process
is finished.
> Add isStratingFinished() method to the ServiceSupport class
> -----------------------------------------------------------
>
> Key: CAMEL-1515
> URL: https://issues.apache.org/activemq/browse/CAMEL-1515
> Project: Apache Camel
> Issue Type: Improvement
> Reporter: Willem Jiang
> Assignee: Willem Jiang
> Fix For: 2.0.0, 1.6.1
>
>
> Just found the the isStarted() is used for starting the components in
> CamelContext when the CamelContext is starting,
> The change of isStarted() recently will broke below code.
> {code}
> public boolean isStarted() {
> return started.get()&&!starting.get();
> }
> {code}
> {code}
> public Component getComponent(String name) {
> // synchronize the look up and auto create so that 2 threads can't
> // concurrently auto create the same component.
> synchronized (components) {
> Component component = components.get(name);
> if (component == null && autoCreateComponents) {
> try {
> component = getComponentResolver().resolveComponent(name,
> this);
> if (component != null) {
> addComponent(name, component);
> if (isStarted()) {
> // If the component is looked up after the
> context is started,
> // lets start it up.
> startServices(component);
> }
> }
> } catch (Exception e) {
> throw new RuntimeCamelException("Could not auto create
> component: " + name, e);
> }
> }
> return component;
> }
> }
> {code}
> so I want to add isStratingFinished() method to check if the starting process
> is finished.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.