I am trying to run the DnsNotifier example in my CloudStack Environment, I am 
having trouble with the Spring wiring. I modified the DnsNotifier.java file to 
add @Component annotation and modified the two files componentContext.xml.in 
and nonossComponentContext.xml.in to add reference to the DnsNotifier. I get 
everything to build but the Spring Class Loader can not find DnsNotifier Class 
to load, what more needs to be done to get this to run?
-Soheil

ovider,databaseUpgradeChecker,configurationDaoImpl,GlobalLoadBalancingRulesServiceImpl,DnsNotifier,niciraNvpDaoImpl,niciraNvpNicMappingDaoImpl,niciraNvpRouterMappingDaoImpl,NiciraNvpGuestNetworkGuru,NiciraNvp,MidoNetGuestNetworkGuru,MidoNetElement,userAuthenticators,userPasswordEncoders,securityCheckers,resourceDiscoverers,haInvestigators,haFenceBuilders,deploymentPlanners,podAllocators,hostAllocators,storagePoolAllocators,ipDeployers,dhcpProviders,networkGurus,networkElements,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0];
 root of factory hierarchy
ERROR [web.context.ContextLoader] (main:) Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean 
with name 'actionEventUtils': Injection of autowired dependencies failed; 
nested exception is org.springframework.beans.factory.BeanCreationException: 
Could not autowire field: com.cloud.event.dao.EventDao 
com.cloud.event.ActionEventUtils.eventDao; nested exception is 
org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find 
class [org.apache.cloudstack.network.element.DnsNotifier] for bean with name 
'DnsNotifier' defined in class path resource [componentContext.xml]; nested 
exception is java.lang.ClassNotFoundException: 
org.apache.cloudstack.network.element.DnsNotifier

Administrators-MacBook-Pro-7:cloudstack seizadi$ find . -name DnsNotifier.class
./plugins/network-elements/dns-notifier/target/classes/org/apache/cloudstack/network/element/DnsNotifier.class

diff --git 
a/plugins/network-elements/dns-notifier/src/org/apache/cloudstack/network/element/DnsNotifier.java
 
b/plugins/network-elements/dns-notifier/src/org/apache/cloudstack/network/element/DnsNotifier.java
index c421344..8f8986d 100644
--- 
a/plugins/network-elements/dns-notifier/src/org/apache/cloudstack/network/element/DnsNotifier.java
+++ 
b/plugins/network-elements/dns-notifier/src/org/apache/cloudstack/network/element/DnsNotifier.java
@@ -22,7 +22,9 @@ import java.util.Map;
 import java.util.Set;

 import javax.ejb.Local;
-import javax.naming.ConfigurationException;
+
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Component;

 import com.cloud.deploy.DeployDestination;
 import com.cloud.exception.ConcurrentOperationException;
@@ -45,13 +47,17 @@ import com.cloud.vm.VirtualMachineProfile;
  * @author ahuang
  *
  */
+
+@Component
 @Local(NetworkElement.class)
 public class DnsNotifier extends AdapterBase implements NetworkElement {


diff --git a/client/tomcatconf/componentContext.xml.in 
b/client/tomcatconf/componentContext.xml.in
index bea2f78..202a998 100644
--- a/client/tomcatconf/componentContext.xml.in
+++ b/client/tomcatconf/componentContext.xml.in
@@ -46,6 +46,14 @@
   <bean id="configurationDaoImpl" 
class="com.cloud.configuration.dao.ConfigurationDaoImpl" />

   <bean id="GlobalLoadBalancingRulesServiceImpl" class 
="org.apache.cloudstack.region.gslb.GlobalLoadBalancingRulesServiceImpl" />
+
+  <bean id="DnsNotifier" 
class="org.apache.cloudstack.network.element.DnsNotifier">
+    <property name="name" value="DnsNotifier"/>
+  </bean>
+

   <!--
     Nicira support components
@@ -240,6 +248,8 @@
           <ref bean="VpcVirtualRouter"/>
           <ref bean="NiciraNvp" />
           <ref bean="MidoNetElement"/>
+          <ref bean="DnsNotifier"/>
 <!--
           <ref bean="BareMetalDhcp"/>
           <ref bean="BareMetalPxe"/>

diff --git a/client/tomcatconf/nonossComponentContext.xml.in 
b/client/tomcatconf/nonossComponentContext.xml.in
index fc8a9cd..9da3d06 100644
--- a/client/tomcatconf/nonossComponentContext.xml.in
+++ b/client/tomcatconf/nonossComponentContext.xml.in
@@ -79,6 +79,13 @@
   <bean id="vmwareContextFactory" 
class="com.cloud.hypervisor.vmware.resource.VmwareContextFactory" />

+  <bean id="DnsNotifier" 
class="org.apache.cloudstack.network.element.DnsNotifier">
+    <property name="name" value="DnsNotifier"/>
+  </bean>
+
+  <!--
     Nicira support components
   -->
   <bean id="niciraNvpDaoImpl" class="com.cloud.network.dao.NiciraNvpDaoImpl" />
@@ -331,6 +338,8 @@
           <ref bean="Ovs"/>
           <ref bean="SecurityGroupProvider"/>
           <ref bean="VpcVirtualRouter"/>
+          <ref bean="DnsNotifier"/>
 <!--
           <ref bean="BareMetalDhcp"/>
           <ref bean="BareMetalPxe"/>

Reply via email to