2013-05-14 71 views
0

当我部署功能时,Im出现问题。该功能包含三个捆绑包,Karaf可以很好地部署这些捆绑包,但是当它们部署时,ActiveMQ开始出现问题。部署功能时,ActiveMQ在Fuse Jboss中开始失败

部署的捆绑包很简单。 “复杂”是骆驼路线,他暴露CXF端点并调用端点模拟。我只是附加到这个卡尔,卡尔的拉链和我的保险丝日志。该服务正在运行,但与ActiveMQ的问题总是happend

的错误是总是相同的:

2013-05-14 15:19:48,046 | INFO | veMQ Broker: amq | ActiveMQServiceFactory$$anon$1 | ?         ? | 106 - org.springframework.context - 3.1.3.RELEASE | Refreshing [email protected]: startup date [Tue May 14 15:19:48 ART 2013]; root of context hierarchy 
2013-05-14 15:19:48,048 | INFO | veMQ Broker: amq | XBeanXmlBeanDefinitionReader  | ?         ? | 105 - org.springframework.beans - 3.1.3.RELEASE | Loading XML bean definitions from file [/home/ramiro/tecPlata/jboss-fuse-6.0.0.redhat-024/etc/activemq.xml] 
2013-05-14 15:19:48,095 | INFO | veMQ Broker: amq | DefaultListableBeanFactory  | ?         ? | 105 - org.springframework.beans - 3.1.3.RELEASE | Pre-instantiating singletons in org.s[email protected]1885c3a: defining beans [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,org.apache.activemq.xbean.XBeanBrokerService#0]; root of factory hierarchy 
2013-05-14 15:19:48,159 | INFO | veMQ Broker: amq | PListStoreImpl     | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | PListStore:[/home/ramiro/tecPlata/jboss-fuse-6.0.0.redhat-024/data/amq/amq/tmp_storage] started 
2013-05-14 15:19:48,163 | ERROR | veMQ Broker: amq | BrokerService     | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Failed to start Apache ActiveMQ (amq, null). Reason: javax.management.InstanceAlreadyExistsException: org.apache.activemq:type=Broker,brokerName=amq 
javax.management.InstanceAlreadyExistsException: org.apache.activemq:type=Broker,brokerName=amq 
      at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)[:1.6.0_30] 
      at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)[:1.6.0_30] 
      at org.apache.activemq.broker.jmx.ManagementContext.registerMBean(ManagementContext.java:380)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.apache.activemq.broker.jmx.AnnotatedMBean.registerMBean(AnnotatedMBean.java:72)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.apache.activemq.broker.BrokerService.startManagementContext(BrokerService.java:2337)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.apache.activemq.broker.BrokerService.start(BrokerService.java:543)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration$$anon$3.run(ActiveMQServiceFactory.scala:307)[128:org.jboss.amq.mq-fabric:6.0.0.redhat-024] 
2013-05-14 15:19:48,164 | INFO | veMQ Broker: amq | BrokerService     | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Apache ActiveMQ 5.8.0.redhat-60024 (amq, null) is shutting down 
2013-05-14 15:19:48,168 | INFO | veMQ Broker: amq | TransportConnector    | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Connector openwire Stopped 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | PListStoreImpl     | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | PListStore:[/home/ramiro/tecPlata/jboss-fuse-6.0.0.redhat-024/data/amq/amq/tmp_storage] stopped 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | KahaDBStore      | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Stopping async queue tasks 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | KahaDBStore      | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Stopping async topic tasks 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | KahaDBStore      | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Stopped KahaDB 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | BrokerService     | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Apache ActiveMQ 5.8.0.redhat-60024 (amq, null) uptime 0.010 seconds 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | BrokerService     | ?         ? | 114 - org.apache.activemq.activemq-osgi - 5.8.0.redhat-60024 | Apache ActiveMQ 5.8.0.redhat-60024 (amq, null) is shutdown 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | ActiveMQServiceFactory   | ?         ? | 128 - org.jboss.amq.mq-fabric - 6.0.0.redhat-024 | Broker amq failed to start. Will try again in 10 seconds 
2013-05-14 15:19:48,169 | INFO | veMQ Broker: amq | ActiveMQServiceFactory   | ?         ? | 128 - org.jboss.amq.mq-fabric - 6.0.0.redhat-024 | Exception on start: javax.management.InstanceAlreadyExistsException: org.apache.activemq:type=Broker,brokerName=amq 
javax.management.InstanceAlreadyExistsException: org.apache.activemq:type=Broker,brokerName=amq 
      at com.sun.jmx.mbeanserver.Repository.addMBean(Repository.java:453)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.internal_addObject(DefaultMBeanServerInterceptor.java:1484)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerDynamicMBean(DefaultMBeanServerInterceptor.java:963)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:917)[:1.6.0_30] 
      at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:312)[:1.6.0_30] 
      at com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:482)[:1.6.0_30] 
      at org.apache.activemq.broker.jmx.ManagementContext.registerMBean(ManagementContext.java:380)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.apache.activemq.broker.jmx.AnnotatedMBean.registerMBean(AnnotatedMBean.java:72)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.apache.activemq.broker.BrokerService.startManagementContext(BrokerService.java:2337)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.apache.activemq.broker.BrokerService.start(BrokerService.java:543)[114:org.apache.activemq.activemq-osgi:5.8.0.redhat-60024] 
      at org.fusesource.mq.fabric.ActiveMQServiceFactory$ClusteredConfiguration$$anon$3.run(ActiveMQServiceFactory.scala:307)[128:org.jboss.amq.mq-fabric:6.0.0.redhat-024] 

Dropbox的URL和保险丝LOG https://dl.dropboxusercontent.com/u/225304/fuse.log

Dropbox的URL来.KAR文件https://dl.dropboxusercontent.com/u/225304/PruebaFeature-1.0-SNAPSHOT.kar

这个例子我用了一个干净的保险丝。有什么想法发生了什么?我不知道问题是ActiveMQ的配置,还是其他的。

这是我recive我在Karaf

列出的ActiveMQ这是当我列出经纪人karaf

JBossFuse:[email protected]> activemq:query --jmxlocal 
Name = KahaDBPersistenceAdapter[/home/ramiro/tecPlata/jboss-fuse-6.0.0.redhat-024/data/amq/kahadb] 
brokerName = amq 
Transactions = [] 
Size = 13411 
InstanceName = KahaDBPersistenceAdapter[/home/ramiro/tecPlata/jboss-fuse-6.0.0.redhat-024/data/amq/kahadb] 
Data = [1] 
type = Broker 
Service = PersistenceAdapter 

brokerName = amq 
service = Health 
CurrentStatus = Good 
type = Broker 

brokerName = amq 
connector = clientConnectors 
type = Broker 
StatisticsEnabled = true 
connectorName = openwire 

destinationName = ActiveMQ.Advisory.MasterBroker 
MemoryUsageByteCount = 0 
DequeueCount = 0 
type = Broker 
destinationType = Topic 
Name = ActiveMQ.Advisory.MasterBroker 
MinEnqueueTime = 0 
MaxAuditDepth = 2048 
AverageEnqueueTime = 0.0 
InFlightCount = 0 
MemoryLimit = 67108864 
brokerName = amq 
EnqueueCount = 1 
MaxEnqueueTime = 0 
MemoryUsagePortion = 1.0 
ProducerCount = 0 
UseCache = true 
BlockedProducerWarningInterval = 30000 
AlwaysRetroactive = false 
Options = 
MaxProducersToAudit = 64 
PrioritizedMessages = false 
ConsumerCount = 0 
ProducerFlowControl = true 
Subscriptions = [] 
QueueSize = 0 
MaxPageSize = 200 
DispatchCount = 0 
MemoryPercentUsage = 0 
ExpiredCount = 0 

TopicSubscribers = [] 
TemporaryQueues = [] 
Uptime = 1 minute 
TemporaryTopicSubscribers = [] 
MemoryPercentUsage = 0 
BrokerVersion = 5.8.0.redhat-60024 
StatisticsEnabled = true 
TotalDequeueCount = 0 
TopicProducers = [] 
QueueSubscribers = [] 
Topics = [org.apache.activemq:type=Broker,brokerName=amq,destinationType=Topic,destinationName=ActiveMQ.Advisory.MasterBroker] 
TotalMessageCount = 0 
SslURL = 
TemporaryQueueSubscribers = [] 
BrokerName = amq 
DynamicDestinationProducers = [] 
Persistent = true 
DataDirectory = /home/ramiro/tecPlata/jboss-fuse-6.0.0.redhat-024/data/amq 
Queues = [] 
DurableTopicSubscribers = [] 
TotalConsumerCount = 0 
InactiveDurableTopicSubscribers = [] 
JobSchedulerStoreLimit = 0 
TempPercentUsage = 0 
MemoryLimit = 67108864 
VMURL = vm://amq 
OpenWireURL = tcp://fluxit-ntb-43:61616?maximumConnections=1000 
JobSchedulerStorePercentUsage = 0 
TotalEnqueueCount = 1 
TemporaryQueueProducers = [] 
StompSslURL = 
TemporaryTopics = [] 
StompURL = 
Slave = false 
BrokerId = ID:fluxit-ntb-43-58596-1368558172573-0:1 
TotalProducerCount = 0 
StorePercentUsage = 0 
brokerName = amq 
StoreLimit = 107374182400 
TransportConnectors = {openwire=tcp://fluxit-ntb-43:61616?maximumConnections=1000} 
TemporaryTopicProducers = [] 
TempLimit = 53687091200 
QueueProducers = [] 
type = Broker 

回答

0

的features.xml在你家是不正确造成此错误。它有一些像捆绑

<bundle>mvn:org.apache.felix/org.apache.felix.configadmin/1.2.4</bundle> 
<bundle>mvn:org.apache.aries/org.apache.aries.util/1.0.0</bundle> 
<bundle>mvn:org.apache.aries.proxy/org.apache.aries.proxy.api/1.0.0</bundle> 
<bundle>mvn:org.apache.aries.blueprint/org.apache.aries.blueprint/1.0.1.redhat-60024</bundle> 

这些捆绑包是非常基本的容器,并已默认通过容器安装。

它不应该在你的features.xml,或者如果他们在那里,你应该有 解析器=“(OBR)”的功能,并依赖=“真”对于那些捆绑,这样OBR解析器可以踢以防止安装冗余捆绑软件。

此外,

<bundle>mvn:org.apache.aries.blueprint/org.apache.aries.blueprint/1.0.1.redhat-60024</bundle> 

是aries.blueprint 1.0.x的无效的,它应该是

<bundle dependency="true" start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.api/1.0.1.redhat-60024</bundle> 
<bundle dependency="true" start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.core/1.0.1.redhat-60024</bundle> 
<bundle dependency="true" start-level="20">mvn:org.apache.aries.blueprint/org.apache.aries.blueprint.cm/1.0.1.redhat-60024</bundle> 

代替。否则,你会看到这样的错误

ERROR: Bundle org.apache.aries.blueprint [251] EventDispatcher: Error during dispatch. (java.lang.ClassCastException: org.apache.aries.blueprint.ext.impl.ExtNamespaceHandler cannot be cast to org.apache.aries.blueprint.NamespaceHandler) 

java.lang.ClassCastException:org.apache.aries.blueprint.ext.impl.ExtNamespaceHandler不能转换到org.apache.aries.blueprint.NamespaceHandler

这意味着你的容器中安装了两个冲突的aries.blueprint包,几乎所有东西都搞砸了。

在总结,改变你的features.xml在你家的一样

<?xml version="1.0" encoding="UTF-8"?> 
<features> 
    <feature name='tosMock' version='1.0.0-SNAPSHOT'> 
    <bundle>mvn:com.tecplata.esb.services/tosMock/1.0.0-SNAPSHOT</bundle> 
    </feature> 
    <feature name='esb-entities' version='1.0.0-SNAPSHOT'> 
    <bundle>mvn:com.tecplata.esb/esb-entities/1.0.0-SNAPSHOT</bundle> 
    </feature> 
    <feature name='vesselsService-sei' version='1.0.0-SNAPSHOT'> 
    <feature version='1.0.0-SNAPSHOT'>esb-entities</feature> 
    <bundle>mvn:com.tecplata.esb.services.sei/vesselsService-sei/1.0.0-SNAPSHOT</bundle> 
    </feature> 
    <feature name='vesselsVisitorService' version='1.0.0-SNAPSHOT'> 
    <bundle>mvn:org.apache.camel/camel-core/2.10.0.redhat-60024</bundle> 
    <feature version='1.0.0-SNAPSHOT'>vesselsService-sei</feature> 
    <bundle>mvn:com.tecplata.esb.services/vesselsVisitorService/1.0.0-SNAPSHOT</bundle> 
    </feature> 
</features> 

使它发挥作用。 Freeman