Yes, that seems to explain it. The hostname was indeed the cause of the
problem.
Thanks
Tim
On 31/12/2012 02:40, Liam Clarke-Hutchinson wrote:
Hi Tim,
It's trying to get an mbean or similar with a name derived from (I
guess) your machine's IP - which is in IPV6, hence lots of colons.
However, if you look at the documentation for ObjectName
(http://docs.oracle.com/javase/1.5.0/docs/api/javax/management/ObjectName.html)
you'll see it states:
An ObjectName can be written as a String with the following elements in order:
The domain.
A colon (:).
A key property list as defined below.
And also
An unquoted value is a possibly empty string of characters which may not
contain any of the characters comma, equals, colon, quote, asterisk, or
question mark.
So it's hitting the first colon, starts interpreting the rest of the
IP as a property, hits the next colon while parsing it as a property
value, and blows up because colons aren't allowed.
Looking at what DefaultManagementNamingStrategy.createObjectName does,
it ultimately calls java.net.InetAddress#getLocalHost() to get that
IP. Maybe you need to alias localhost in your /etc/hosts?
Regards,
Liam Clarke
On Mon, Dec 31, 2012 at 2:38 PM, Willem Jiang <willem.ji...@gmail.com> wrote:
Hi,
It looks something is wrong with you host name. Can you just change it?
Willem
在 2012-12-30,下午11:45,Tim Dudgeon <tdudgeon...@gmail.com> 写道:
I'm seeing a strange error when starting a camel context. Its dependent on the
machine I'm running on. On one machine (Windows) the same context and simple
route runsfine, but on a different machine (Mac) the context fails to start.
The key part seems to be this:
javax.management.MalformedObjectNameException: Could not create ObjectName from:
org.apache.camel:context=unknown-00:25:4b:c4:94:f4.home/camel-1,type=context,name="camel-1".
Reason: javax.management.MalformedObjectNameException: Invalid character ':' in value
part of property
The context and route is very simple:
def camelContext = new DefaultCamelContext()
camelContext.addRoutes(new RouteBuilder() {
def void configure() {
from("timer://jdkTimer?period=3000")
.to("log://camelLogger?level=INFO")
}
})
This is using Camel 2.10.3.
Any ideas what might be going wrong?
The full error is here:
/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java
-Dtools.jar=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/tools.jar
-Dgroovy.home=/Users/timbo/etc/groovy/groovy-1.8.8
-Dgroovy.starter.conf=/Users/timbo/etc/groovy/groovy-1.8.8/conf/groovy-starter.conf
-Didea.launcher.port=7532 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 11
CE.app/bin" -Dfile.encoding=UTF-8 -classpath
"/Users/timbo/etc/groovy/groovy-1.8.8/lib/groovy-1.8.8.jar:/Applications/IntelliJ IDEA 11
CE.app/lib/idea_rt.jar" com.intellij.rt.execution.application.AppMain
org.codehaus.groovy.tools.GroovyStarter --conf
/Users/timbo/etc/groovy/groovy-1.8.8/conf/groovy-starter.conf --main groovy.ui.GroovyMain
--classpath
/Users/timbo/tmp/TestingCamel/out/production/TestingCamel:/Users/timbo/etc/groovy/groovy-1.8.8/lib/ant-1.8.3.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/ant-antlr-1.8.3.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/ant-junit-1.8.3.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/ant-launcher-1.8.3.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/antlr-2.7.7.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/asm-3.2.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/asm-analysis-3.2.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/asm-commons-3.2.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/asm-tree-3.2.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/asm-util-3.2.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/bsf-2.4.0.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/commons-cli-1.2.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/commons-logging-1.1.1.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/gpars-1.0-beta-3.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/groovy-1.8.8.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/hamcrest-core-1.1.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/ivy-2.2.0.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/jansi-1.6.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/jline-1.0.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/jsp-api-2.0.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/jsr166y-1.7.0.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/junit-4.10.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/servlet-api-2.4.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/xmlpull-1.1.3.1.jar:/Users/timbo/etc/groovy/groovy-1.8.8/lib/xstream-1.4.1.jar:/Users/timbo/tmp/TestingCamel/lib/camel-core-2.10.3.jar:/Users/timbo/tmp/TestingCamel/lib/slf4j-api-1.6.6.jar:/Users/timbo/tmp/TestingCamel/lib/slf4j-simple-1.6.6.jar
--encoding=UTF-8 /Users/timbo/tmp/TestingCamel/src/Simple.groovy
2347 [main] INFO org.apache.camel.impl.DefaultCamelContext - Apache Camel
2.10.3 (CamelContext: camel-1) is starting
3832 [main] INFO org.apache.camel.management.ManagementStrategyFactory - JMX
enabled.
3996 [main] WARN org.apache.camel.impl.DefaultCamelContext - Lifecycle strategy
org.apache.camel.management.DefaultManagementLifecycleStrategy@410d3f0d failed starting
CamelContext (camel-1) due javax.management.MalformedObjectNameException: Could not
create ObjectName from:
org.apache.camel:context=unknown-00:25:4b:c4:94:f4.home/camel-1,type=context,name="camel-1".
Reason: javax.management.MalformedObjectNameException: Invalid character ':' in value
part of property
4004 [main] INFO org.apache.camel.impl.DefaultCamelContext - Apache Camel
2.10.3 (CamelContext: camel-1) is shutting down
4051 [main] INFO org.apache.camel.impl.DefaultCamelContext - Apache Camel
2.10.3 (CamelContext: camel-1) is shutdown in 0.012 seconds. Uptime 1.706
seconds.
Caught: org.apache.camel.RuntimeCamelException:
javax.management.MalformedObjectNameException: Could not create ObjectName from:
org.apache.camel:context=unknown-00:25:4b:c4:94:f4.home/camel-1,type=context,name="camel-1".
Reason: javax.management.MalformedObjectNameException: Invalid character ':' in value
part of property
org.apache.camel.RuntimeCamelException: javax.management.MalformedObjectNameException:
Could not create ObjectName from:
org.apache.camel:context=unknown-00:25:4b:c4:94:f4.home/camel-1,type=context,name="camel-1".
Reason: javax.management.MalformedObjectNameException: Invalid character ':' in value
part of property
at
org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)
at
org.apache.camel.management.DefaultManagementLifecycleStrategy.onContextStart(DefaultManagementLifecycleStrategy.java:171)
at
org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1512)
at
org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1444)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
at
org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1412)
at org.apache.camel.Service$start.call(Unknown Source)
at Simple.run(Simple.groovy:12)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: javax.management.MalformedObjectNameException: Could not create ObjectName
from:
org.apache.camel:context=unknown-00:25:4b:c4:94:f4.home/camel-1,type=context,name="camel-1".
Reason: javax.management.MalformedObjectNameException: Invalid character ':' in value
part of property
at
org.apache.camel.management.DefaultManagementNamingStrategy.createObjectName(DefaultManagementNamingStrategy.java:317)
at
org.apache.camel.management.DefaultManagementNamingStrategy.getObjectNameForCamelContext(DefaultManagementNamingStrategy.java:87)
at
org.apache.camel.management.DefaultManagementLifecycleStrategy.onContextStart(DefaultManagementLifecycleStrategy.java:140)
... 7 more
Tim