On Mon, Aug 9, 2010 at 3:53 PM, Willem Jiang <[email protected]> wrote:
> Hi Claus,
>
> Thanks for committing the fix, I didn't take the consideration for the JMX
> restriction.
> But I don't think you fix resolved all the issue.
>
> What if there are more than two camel contexts in the bundle?
> I think we still need to static counter of this situation.
>

Ah yeah you are correct. Then we need the counter.

So it will be:

camel-147-1
camel-147-2

camel-148-1

camel-149-1
camel-149-2
camel-149-3

So the counter should not be static.


> Willem
>
> Claus Ibsen wrote:
>>
>> Hi Willem
>>
>> I have commited a little fix to this.
>> To let it compile :)
>>
>> Also the osgi name strategy should just use the bundle id (at least
>> here for starters) and prefix with camel.
>> So it will be like: camel-147
>>
>> Naming in JMX has some restrictions, so if we use bundle name etc. we
>> may have a conflict. So lets start with the bundle id.
>> Which makes good sense for end users as well.
>>
>>
>> On Mon, Aug 9, 2010 at 1:59 PM,  <[email protected]> wrote:
>>>
>>> Author: ningjiang
>>> Date: Mon Aug  9 11:59:23 2010
>>> New Revision: 983600
>>>
>>> URL: http://svn.apache.org/viewvc?rev=983600&view=rev
>>> Log:
>>> CAMEL-3034 Added OsgiCamelContextNameStratgy
>>>
>>> Added:
>>>
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java
>>>   (with props)
>>> Modified:
>>>
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextHelper.java
>>>
>>> Modified:
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextHelper.java
>>> URL:
>>> http://svn.apache.org/viewvc/camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextHelper.java?rev=983600&r1=983599&r2=983600&view=diff
>>>
>>> ==============================================================================
>>> ---
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextHelper.java
>>> (original)
>>> +++
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextHelper.java
>>> Mon Aug  9 11:59:23 2010
>>> @@ -38,6 +38,8 @@ public final class OsgiCamelContextHelpe
>>>    }
>>>
>>>    public static void osgiUpdate(DefaultCamelContext camelContext,
>>> BundleContext bundleContext) {
>>> +        LOG.debug("Using the OsgiCamelContextNameStrategy");
>>> +        camelContext.setNameStrategy(new
>>> OsgiCamelContextNameStrategy(bundleContext));
>>>        LOG.debug("Using the OsgiClassResolver");
>>>        camelContext.setClassResolver(new
>>> OsgiClassResolver(bundleContext));
>>>        LOG.debug("Using OsgiFactoryFinderResolver");
>>>
>>> Added:
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java
>>> URL:
>>> http://svn.apache.org/viewvc/camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java?rev=983600&view=auto
>>>
>>> ==============================================================================
>>> ---
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java
>>> (added)
>>> +++
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java
>>> Mon Aug  9 11:59:23 2010
>>> @@ -0,0 +1,29 @@
>>> +/**
>>> + * Licensed to the Apache Software Foundation (ASF) under one or more
>>> + * contributor license agreements.  See the NOTICE file distributed with
>>> + * this work for additional information regarding copyright ownership.
>>> + * The ASF licenses this file to You under the Apache License, Version
>>> 2.0
>>> + * (the "License"); you may not use this file except in compliance with
>>> + * the License.  You may obtain a copy of the License at
>>> + *
>>> + *      http://www.apache.org/licenses/LICENSE-2.0
>>> + *
>>> + * Unless required by applicable law or agreed to in writing, software
>>> + * distributed under the License is distributed on an "AS IS" BASIS,
>>> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>>> implied.
>>> + * See the License for the specific language governing permissions and
>>> + * limitations under the License.
>>> + */
>>> +
>>> +package org.apache.camel.core.osgi;
>>> +
>>> +import org.apache.camel.impl.DefaultCamelContextNameStrategy;
>>> +import org.osgi.framework.BundleContext;
>>> +
>>> +public class OsgiCamelContextNameStrategy extends
>>> DefaultCamelContextNameStrategy {
>>> +
>>> +    public OsgiCamelContextNameStrategy(BundleContext context) {
>>> +        name = "Bundle:" + context.getBundle().getBundleId() + ":" +
>>> getNextName();
>>> +    }
>>> +
>>> +}
>>>
>>> Propchange:
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java
>>>
>>> ------------------------------------------------------------------------------
>>>   svn:eol-style = native
>>>
>>> Propchange:
>>> camel/trunk/components/camel-core-osgi/src/main/java/org/apache/camel/core/osgi/OsgiCamelContextNameStrategy.java
>>>
>>> ------------------------------------------------------------------------------
>>>   svn:keywords = Rev Date
>>>
>>>
>>>
>>
>>
>>
>
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to