You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Created) (JIRA)" <ji...@apache.org> on 2012/01/17 07:38:42 UTC

[jira] [Created] (CAMEL-4906) Allow to configure management name using a pattern, such as to enforce a fixed name

Allow to configure management name using a pattern, such as to enforce a fixed name
-----------------------------------------------------------------------------------

                 Key: CAMEL-4906
                 URL: https://issues.apache.org/jira/browse/CAMEL-4906
             Project: Camel
          Issue Type: New Feature
          Components: camel-core, osgi
    Affects Versions: 2.9.0
            Reporter: Claus Ibsen
            Assignee: Claus Ibsen
             Fix For: 2.9.1, 2.10.0


When Camel enlist itself in JMX it uses a auto assigning naming strategy, which can detect clashes (name already exist) and then re-calculate a new name, finding a free name. This ensures you can deploy multiple Camel apps in the same JVM, whether you run in Tomcat, JEE, OSGi etc.

However for some people they want to have full control of the JMX name.
For OSGi users in particular, as by default Camel uses the bundle-id as part of the JMX name. 

So the JMX name can change, for example if you restart the server (and have deleted the data directory) so bundle-ids is re-assigned by the OSGi container.
Or that you uninstall and install the app again. Then the old bundle-id is never reused.

We could possible add a managementName attribute to <camelContext>
with a syntax pattern, so end user can configure this in the XML as well, fairly easily

<camelContext id="foo" managementNamePattern="myFoo">

...
</camelContext>

eg the managementName is a new attribute, where you can use a syntax
to configure it with tokens
- #name# - the camel context name
- #camelId# - same as #name#
- #bundleId# - the bundle id
- #symbolicName# - the bundle symbolic name
- #counter# - an incrementing counter, used to remedy clashes by finding a new free name

Then they can assemble their naming as they want.

The osgi default naming pattern could be, which it is hardcoded as currently:
#bundleId#-#name#

In the example above it uses a fixed name "myFoo" which then must be unique in the JVM


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CAMEL-4906) Allow to configure management name using a pattern, such as to enforce a fixed name

Posted by "Claus Ibsen (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-4906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen updated CAMEL-4906:
-------------------------------

    Fix Version/s:     (was: 2.9.1)
    
> Allow to configure management name using a pattern, such as to enforce a fixed name
> -----------------------------------------------------------------------------------
>
>                 Key: CAMEL-4906
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4906
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core, osgi
>    Affects Versions: 2.9.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.10.0
>
>
> When Camel enlist itself in JMX it uses a auto assigning naming strategy, which can detect clashes (name already exist) and then re-calculate a new name, finding a free name. This ensures you can deploy multiple Camel apps in the same JVM, whether you run in Tomcat, JEE, OSGi etc.
> However for some people they want to have full control of the JMX name.
> For OSGi users in particular, as by default Camel uses the bundle-id as part of the JMX name. 
> So the JMX name can change, for example if you restart the server (and have deleted the data directory) so bundle-ids is re-assigned by the OSGi container.
> Or that you uninstall and install the app again. Then the old bundle-id is never reused.
> We could possible add a managementName attribute to <camelContext>
> with a syntax pattern, so end user can configure this in the XML as well, fairly easily
> <camelContext id="foo" managementNamePattern="myFoo">
> ...
> </camelContext>
> eg the managementName is a new attribute, where you can use a syntax
> to configure it with tokens
> - #name# - the camel context name
> - #camelId# - same as #name#
> - #bundleId# - the bundle id
> - #symbolicName# - the bundle symbolic name
> - #counter# - an incrementing counter, used to remedy clashes by finding a new free name
> Then they can assemble their naming as they want.
> The osgi default naming pattern could be, which it is hardcoded as currently:
> #bundleId#-#name#
> In the example above it uses a fixed name "myFoo" which then must be unique in the JVM

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (CAMEL-4906) Allow to configure management name using a pattern, such as to enforce a fixed name

Posted by "Claus Ibsen (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CAMEL-4906?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Claus Ibsen resolved CAMEL-4906.
--------------------------------

    Resolution: Fixed

Update wiki documentation at the Camel JMX wiki page.
                
> Allow to configure management name using a pattern, such as to enforce a fixed name
> -----------------------------------------------------------------------------------
>
>                 Key: CAMEL-4906
>                 URL: https://issues.apache.org/jira/browse/CAMEL-4906
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-core, osgi
>    Affects Versions: 2.9.0
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.10.0
>
>
> When Camel enlist itself in JMX it uses a auto assigning naming strategy, which can detect clashes (name already exist) and then re-calculate a new name, finding a free name. This ensures you can deploy multiple Camel apps in the same JVM, whether you run in Tomcat, JEE, OSGi etc.
> However for some people they want to have full control of the JMX name.
> For OSGi users in particular, as by default Camel uses the bundle-id as part of the JMX name. 
> So the JMX name can change, for example if you restart the server (and have deleted the data directory) so bundle-ids is re-assigned by the OSGi container.
> Or that you uninstall and install the app again. Then the old bundle-id is never reused.
> We could possible add a managementName attribute to <camelContext>
> with a syntax pattern, so end user can configure this in the XML as well, fairly easily
> <camelContext id="foo" managementNamePattern="myFoo">
> ...
> </camelContext>
> eg the managementName is a new attribute, where you can use a syntax
> to configure it with tokens
> - #name# - the camel context name
> - #camelId# - same as #name#
> - #bundleId# - the bundle id
> - #symbolicName# - the bundle symbolic name
> - #counter# - an incrementing counter, used to remedy clashes by finding a new free name
> Then they can assemble their naming as they want.
> The osgi default naming pattern could be, which it is hardcoded as currently:
> #bundleId#-#name#
> In the example above it uses a fixed name "myFoo" which then must be unique in the JVM

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira