You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juddi.apache.org by ks...@apache.org on 2010/01/26 04:15:08 UTC
svn commit: r903066 - in /webservices/juddi/trunk:
juddi-client/src/main/java/org/apache/juddi/v3/client/config/
juddi-core/src/main/java/org/apache/juddi/api/impl/
juddi-core/src/main/java/org/apache/juddi/subscription/
juddiv3-war/src/main/java/org/a...
Author: kstam
Date: Tue Jan 26 03:15:07 2010
New Revision: 903066
URL: http://svn.apache.org/viewvc?rev=903066&view=rev
Log:
JUDDI-344, doing registration in the background
Added:
webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/BackGroundRegistration.java
Modified:
webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java
webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/NotificationList.java
webservices/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/servlets/NotifyServlet.java
Added: webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/BackGroundRegistration.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/BackGroundRegistration.java?rev=903066&view=auto
==============================================================================
--- webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/BackGroundRegistration.java (added)
+++ webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/BackGroundRegistration.java Tue Jan 26 03:15:07 2010
@@ -0,0 +1,26 @@
+package org.apache.juddi.v3.client.config;
+
+import org.apache.log4j.Logger;
+
+public class BackGroundRegistration implements Runnable {
+
+ private UDDIClerkManager manager = null;
+ private static Logger log = Logger.getLogger(UDDIClerkManager.class);
+
+
+ public BackGroundRegistration(UDDIClerkManager manager) {
+ super();
+ this.manager = manager;
+ }
+
+ public void run() {
+ log.info("Starting UDDI Clerks for manager " + manager.getClientConfig().getManagerName() + "...");
+ if (manager.getClientConfig().isRegisterOnStartup()) {
+ manager.saveClerkAndNodeInfo();
+ manager.registerAnnotatedServices();
+ manager.xRegister();
+ }
+ UDDIClientContainer.addClerkManager(manager);
+ log.info("Clerks started succesfully for manager " + manager.getClientConfig().getManagerName());
+ }
+}
Modified: webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java?rev=903066&r1=903065&r2=903066&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java (original)
+++ webservices/juddi/trunk/juddi-client/src/main/java/org/apache/juddi/v3/client/config/UDDIClerkManager.java Tue Jan 26 03:15:07 2010
@@ -6,7 +6,6 @@
import org.apache.commons.configuration.ConfigurationException;
import org.apache.juddi.v3.annotations.AnnotationProcessor;
-import org.apache.juddi.v3.client.transport.Transport;
import org.apache.log4j.Logger;
import org.uddi.api_v3.BusinessService;
@@ -42,37 +41,49 @@
* @throws ConfigurationException
*/
public void start() throws ConfigurationException {
- log.info("Starting UDDI Clerks for manager " + clientConfig.getManagerName() + "...");
- UDDIClientContainer.addClerkManager(this);
- if (clientConfig.isRegisterOnStartup()) {
- saveClerkAndNodeInfo();
- registerAnnotatedServices();
- xRegister();
- }
- log.info("Clerks started succesfully for manager " + clientConfig.getManagerName());
+ Runnable runnable = new BackGroundRegistration(this);
+ Thread thread = new Thread(runnable);
+ thread.start();
}
public void restart() throws ConfigurationException {
stop();
start();
- }
+ }
+
/**
- * Saves the clerk and node info from the uddi.xml to the jUDDI registry.
+ * Saves the clerk and node info from the uddi.xml to the home jUDDI registry.
+ * This info is needed if you want to JUDDI Server to do XRegistration/"replication".
*/
public void saveClerkAndNodeInfo() {
Map<String,UDDIClerk> uddiClerks = clientConfig.getUDDIClerks();
+
if (uddiClerks.size() > 0) {
- for (UDDIClerk defaultClerk : uddiClerks.values()) {
- if (Transport.DEFAULT_NODE_NAME.equals(defaultClerk.uddiNode.getName())) {
- for (UDDINode uddiNode : clientConfig.getUDDINodes().values()) {
- if (uddiNode.isAllowJUDDIAPI()) defaultClerk.saveNode(uddiNode.getApiNode());
- }
- for (UDDIClerk uddiClerk : clientConfig.getUDDIClerks().values()) {
- if (uddiClerk.getUDDINode().isAllowJUDDIAPI()) defaultClerk.saveClerk(uddiClerk);
+
+ //obtaining a clerk that can write to the home registry
+ UDDIClerk homeClerk=null;
+ for (UDDIClerk clerk : uddiClerks.values()) {
+ if (clerk.getUDDINode().isHomeJUDDI()) {
+ homeClerk = clerk;
+ }
+ }
+ //registering nodes and clerks
+ if (homeClerk!=null) {
+ int numberOfHomeJUDDIs=0;
+ for (UDDINode uddiNode : clientConfig.getUDDINodes().values()) {
+ if (uddiNode.isHomeJUDDI()) numberOfHomeJUDDIs++;
+ homeClerk.saveNode(uddiNode.getApiNode());
+ }
+ if (numberOfHomeJUDDIs==1) {
+ for (UDDIClerk clerk : clientConfig.getUDDIClerks().values()) {
+ homeClerk.saveClerk(clerk);
}
- break;
+ } else {
+ log.error("The client config needs to have one homeJUDDI node.");
}
+ } else {
+ log.info("No home clerk found.");
}
}
}
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java?rev=903066&r1=903065&r2=903066&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/JUDDIApiImpl.java Tue Jan 26 03:15:07 2010
@@ -557,7 +557,7 @@
log.info("Notification received by UDDISubscriptionListenerService : " + sw.toString());
- NotificationList nl = NotificationList.getInstance();
+ NotificationList<String> nl = NotificationList.getInstance();
nl.getNotifications().add(sw.toString());
//update the registry with the notification list.
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java?rev=903066&r1=903065&r2=903066&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/api/impl/UDDISubscriptionListenerImpl.java Tue Jan 26 03:15:07 2010
@@ -26,7 +26,6 @@
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
-import org.apache.commons.collections.Buffer;
import org.apache.juddi.config.PersistenceManager;
import org.apache.juddi.mapping.MappingModelToApi;
import org.apache.juddi.subscription.NotificationList;
Modified: webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/NotificationList.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/NotificationList.java?rev=903066&r1=903065&r2=903066&view=diff
==============================================================================
--- webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/NotificationList.java (original)
+++ webservices/juddi/trunk/juddi-core/src/main/java/org/apache/juddi/subscription/NotificationList.java Tue Jan 26 03:15:07 2010
@@ -4,17 +4,17 @@
import org.apache.commons.collections.Buffer;
import org.apache.commons.collections.BufferUtils;
-public class NotificationList {
- private static NotificationList nl = null;
+public class NotificationList<T> {
+ private static NotificationList<String> nl = null;
private static Buffer list = null;
private NotificationList() {
list = BufferUtils.synchronizedBuffer(new CircularFifoBuffer(10));
}
- public static NotificationList getInstance() {
+ public static NotificationList<String> getInstance() {
if (nl == null) {
- nl = new NotificationList();
+ nl = new NotificationList<String>();
}
return nl;
}
Modified: webservices/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/servlets/NotifyServlet.java
URL: http://svn.apache.org/viewvc/webservices/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/servlets/NotifyServlet.java?rev=903066&r1=903065&r2=903066&view=diff
==============================================================================
--- webservices/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/servlets/NotifyServlet.java (original)
+++ webservices/juddi/trunk/juddiv3-war/src/main/java/org/apache/juddi/servlets/NotifyServlet.java Tue Jan 26 03:15:07 2010
@@ -18,7 +18,6 @@
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
-import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
---------------------------------------------------------------------
To unsubscribe, e-mail: juddi-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: juddi-cvs-help@ws.apache.org