Hi,

 

I'm trying to create a simple event listener, but it's having troubles
finding the eventSubscriptionService bean.  My component-dao.xml file looks
like this:

 

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans";

       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";

       xmlns:tx="http://www.springframework.org/schema/tx";

       xmlns:context="http://www.springframework.org/schema/context";

       xsi:schemaLocation="http://www.springframework.org/schema/beans

http://www.springframework.org/schema/beans/spring-beans.xsd

       http://www.springframework.org/schema/tx

http://www.springframework.org/schema/tx/spring-tx-2.5.xsd

       http://www.springframework.org/schema/context

http://www.springframework.org/schema/context/spring-context-2.5.xsd";

> 

 

  <context:annotation-config/>

  <bean name="JmsQueueEventListener"
class="org.neoninc.opennms.JmsQueueEventListener" />

  <bean id="JmsQueueEventListenerAdapter"
class="org.opennms.netmgt.model.events.AnnotationBasedEventListenerAdapter">

    <property name="annotatedListener" ref="JmsQueueEventListener" />

    <property name="eventSubscriptionService" ref="eventSubscriptionService"
/>

  </bean>

 

</beans>

 

When it tries to create the JmsQueueEventListenerAdapter, it fails to
resolve the reference to the bean 'eventSubscriptionService'.  I get the
following stack trace:

 

An error occurred while attempting to start the "OpenNMS:Name=Eventd"
service (class org.opennms.netmgt.eventd.jmx.Eventd).  Shutting down and
exiting.

javax.management.RuntimeMBeanException:
org.springframework.beans.factory.access.BootstrapException: Unable to
return specified BeanFactory instance: factory key [eventDaemonContext],
from group with resource name [classpath*:beanRefContext.xml]; nested
exception is org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'eventDaemonContext' defined in URL
[jar:file:/opt/opennms/lib/opennms-services-1.8.7.jar!/beanRefContext.xml]:
Cannot resolve reference to bean 'commonContext' while setting constructor
argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'commonContext' defined in URL
[jar:file:/opt/opennms/lib/opennms-services-1.8.7.jar!/beanRefContext.xml]:
Cannot resolve reference to bean 'daemonContext' while setting constructor
argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'daemonContext' defined in URL
[jar:file:/opt/opennms/lib/opennms-services-1.8.7.jar!/beanRefContext.xml]:
Cannot resolve reference to bean 'daoContext' while setting constructor
argument; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'daoContext' defined in URL
[jar:file:/opt/opennms/lib/opennms-dao-1.8.7.jar!/beanRefContext.xml]:
Instantiation of bean failed; nested exception is
org.springframework.beans.BeanInstantiationException: Could not instantiate
bean class
[org.springframework.context.support.ClassPathXmlApplicationContext]:
Constructor threw exception; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'JmsQueueEventListenerAdapter' defined in URL
[jar:file:/opt/opennms/lib/opennms.neoninc.integration-0.1.0.BUILD-SNAPSHOT.
jar!/META-INF/opennms/component-dao.xml]: Cannot resolve reference to bean
'eventSubscriptionService' while setting bean property
'eventSubscriptionService'; nested exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named 'eventSubscriptionService' is defined

        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanSe
rverInterceptor.java:856)

        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanExcep
tion(DefaultMBeanServerInterceptor.java:869)

        at
com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanSer
verInterceptor.java:838)

        at
com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)

        at org.opennms.netmgt.vmmgr.Invoker.invoke(Invoker.java:338)

        at org.opennms.netmgt.vmmgr.Invoker.invokeMethods(Invoker.java:261)

        at org.opennms.netmgt.vmmgr.Starter.start(Starter.java:268)

        at org.opennms.netmgt.vmmgr.Starter.startDaemon(Starter.java:136)

        at org.opennms.netmgt.vmmgr.Controller.start(Controller.java:211)

        at org.opennms.netmgt.vmmgr.Controller.main(Controller.java:183)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39
)

        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)

        at java.lang.reflect.Method.invoke(Method.java:597)

        at org.opennms.bootstrap.Bootstrap$3.run(Bootstrap.java:353)

        at java.lang.Thread.run(Thread.java:662)

 

 

The Java class itself is very simple:

 

package org.neoninc.opennms;

 

import org.opennms.netmgt.EventConstants;

import org.opennms.netmgt.model.events.annotations.EventHandler;

import org.opennms.netmgt.model.events.annotations.EventListener;

import org.opennms.netmgt.xml.event.Event;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

 

@EventListener(name="neon:JmsQueueEventListener")

public class JmsQueueEventListener  {

      Logger logger = LoggerFactory.getLogger(JmsQueueEventListener.class);

      

      @EventHandler(uei=EventConstants.NODE_DOWN_EVENT_UEI)

      public void onEvent(Event event) {

            logger.debug("Handling onEvent om EventListener!!!");

            logger.debug(event.getDescr());

      }

 

}

 

Any ideas where I'm going wrong?

 

Thanks,

DJ Spiess

-----------------------------------------------------

DJ Spiess

Software Engineer

National Ecological Observatory Network (NEON) 

5340 Airport Boulevard, Boulder, CO 80301

Telephone: (720) 746-4853

Fax: (720) 746-4860

www.neoninc.org

 

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQ

opennms-devel mailing list

To *unsubscribe* or change your subscription options, see the bottom of this 
page:
https://lists.sourceforge.net/lists/listinfo/opennms-devel

Reply via email to