You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ri...@apache.org on 2008/03/21 14:23:18 UTC
svn commit: r639632 [2/2] - in
/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb: CORBA/ OB/
OBCORBA/ OBPortableServer/ OCI/IIOP/
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ServerManager.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ServerManager.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ServerManager.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ServerManager.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,12 @@
package org.apache.yoko.orb.OB;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
public final class ServerManager {
+ static final Logger logger = Logger.getLogger(ServerManager.class.getName());
+
private boolean destroy_; // if destroy() was called
private CollocatedServer collocatedServer_; // The collocated server
@@ -82,15 +87,19 @@
}
public synchronized void hold() {
+ logger.fine("Holding all servers");
java.util.Enumeration e = allServers_.elements();
- while (e.hasMoreElements())
+ while (e.hasMoreElements()) {
((Server) e.nextElement()).hold();
+ }
}
public synchronized void activate() {
+ logger.fine("Activating all servers");
java.util.Enumeration e = allServers_.elements();
- while (e.hasMoreElements())
+ while (e.hasMoreElements()) {
((Server) e.nextElement()).activate();
+ }
}
public synchronized CollocatedServer getCollocatedServer() {
@@ -101,10 +110,9 @@
org.apache.yoko.orb.OB.Server[] servers = new org.apache.yoko.orb.OB.Server[allServers_
.size()];
- for (int i = 0; i < allServers_.size(); i++)
- servers[i] = (org.apache.yoko.orb.OB.Server) allServers_
- .elementAt(i);
-
+ for (int i = 0; i < allServers_.size(); i++) {
+ servers[i] = (org.apache.yoko.orb.OB.Server) allServers_.elementAt(i);
+ }
return servers;
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Upcall.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Upcall.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Upcall.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/Upcall.java Fri Mar 21 06:22:39 2008
@@ -17,10 +17,14 @@
package org.apache.yoko.orb.OB;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import org.apache.yoko.orb.OB.DispatchRequest;
import org.apache.yoko.orb.OB.DispatchStrategy;
public class Upcall {
+ static final Logger logger = Logger.getLogger(Upcall.class.getName());
//
// The ORBInstance object
//
@@ -132,6 +136,7 @@
userEx_ = false; // Java only
+ logger.fine("Creating upcall request for operation " + op + " and request id " + requestId);
in._OB_ORBInstance(orbInstance_);
}
@@ -356,9 +361,12 @@
// In this case do nothing.
//
try {
- if (dispatchStrategy_ != null)
+ if (dispatchStrategy_ != null) {
+ logger.fine("Dispatching request " + reqId_ + " with dispatch strategy " + dispatchStrategy_.getClass().getName());
dispatchStrategy_.dispatch(dispatchRequest_);
+ }
} catch (org.omg.CORBA.SystemException ex) {
+ logger.log(Level.FINE, "Exception received dispatching request", ex);
setSystemException(ex);
}
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ValueReader.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ValueReader.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ValueReader.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OB/ValueReader.java Fri Mar 21 06:22:39 2008
@@ -27,6 +27,7 @@
import org.omg.CORBA.TCKind;
import org.omg.CORBA.WStringValueHelper;
import org.omg.CORBA.portable.IndirectionException;
+import org.omg.CORBA.portable.StreamableValue;
import org.omg.SendingContext.CodeBase;
final public class ValueReader {
@@ -693,15 +694,17 @@
// Java only
//
private void unmarshalValueState(java.io.Serializable v) {
- if (v instanceof org.omg.CORBA.portable.StreamableValue)
+ if (v instanceof org.omg.CORBA.portable.StreamableValue) {
((org.omg.CORBA.portable.StreamableValue) v)._read(in_);
+ }
else if (v instanceof org.omg.CORBA.CustomMarshal) {
org.omg.CORBA.DataInputStream dis = new org.apache.yoko.orb.CORBA.DataInputStream(
in_);
((org.omg.CORBA.CustomMarshal) v).unmarshal(dis);
- } else
+ } else {
throw new org.omg.CORBA.MARSHAL("Valuetype does not implement "
+ "StreamableValue or " + "CustomMarshal");
+ }
}
private java.io.Serializable readIndirection(CreationStrategy strategy) {
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBCORBA/ORB_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBCORBA/ORB_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBCORBA/ORB_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBCORBA/ORB_impl.java Fri Mar 21 06:22:39 2008
@@ -122,7 +122,7 @@
org.apache.yoko.orb.OBPortableServer.POAManagerFactory_impl pmFactory = new org.apache.yoko.orb.OBPortableServer.POAManagerFactory_impl();
org.apache.yoko.orb.OB.MultiRequestSender multiRequestSender = new org.apache.yoko.orb.OB.MultiRequestSender();
org.apache.yoko.orb.OB.DispatchStrategyFactory_impl dsf = new org.apache.yoko.orb.OB.DispatchStrategyFactory_impl();
- org.apache.yoko.orb.OB.BootManager_impl bootManager = new org.apache.yoko.orb.OB.BootManager_impl();
+ org.apache.yoko.orb.OB.BootManager_impl bootManager = new org.apache.yoko.orb.OB.BootManager_impl(this);
org.apache.yoko.orb.OCI.ConFactoryRegistry conFactoryRegistry = new org.apache.yoko.orb.OCI.ConFactoryRegistry_impl();
org.apache.yoko.orb.OCI.AccFactoryRegistry accFactoryRegistry = new org.apache.yoko.orb.OCI.AccFactoryRegistry_impl();
org.apache.yoko.orb.OB.UnknownExceptionStrategy unknownExceptionStrategy = new org.apache.yoko.orb.OB.UnknownExceptionStrategy_impl(
@@ -1075,8 +1075,9 @@
public synchronized org.omg.CORBA.Object resolve_initial_references(
String identifier) throws org.omg.CORBA.ORBPackage.InvalidName {
- if (destroy_)
+ if (destroy_) {
throw new org.omg.CORBA.OBJECT_NOT_EXIST("ORB is destroyed");
+ }
org.apache.yoko.orb.OB.InitialServiceManager initServiceManager = orbInstance_
.getInitialServiceManager();
@@ -1094,10 +1095,10 @@
if (identifier.equals("RootPOA")) {
orbControl_.initializeRootPOA(this);
return resolve_initial_references(identifier);
- } else
+ } else {
throw ex;
+ }
}
-
return obj;
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POALocator.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POALocator.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POALocator.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POALocator.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,12 @@
package org.apache.yoko.orb.OBPortableServer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
final class POALocator {
+ static final Logger logger = Logger.getLogger(POALocator.class.getName());
+
java.util.Hashtable poas_ = new java.util.Hashtable(63);
//
@@ -26,16 +31,18 @@
synchronized org.omg.PortableServer.POA locate(
org.apache.yoko.orb.OB.ObjectKeyData data)
throws org.apache.yoko.orb.OB.LocationForward {
+ logger.fine("Searching for POA " + data);
//
// If length of poa name sequence is zero we are looking
// for a root POA and are doomed to fail.
//
- if (data.poaId.length == 0)
+ if (data.poaId.length == 0) {
return null;
+ }
- org.omg.PortableServer.POA poa = (org.omg.PortableServer.POA) poas_
- .get(new POANameHasher(data.poaId));
+ org.omg.PortableServer.POA poa = (org.omg.PortableServer.POA) poas_.get(new POANameHasher(data.poaId));
if (poa == null) {
+ logger.fine("POA not found by direct lookup, searching the hierarchy");
//
// Arrange for POA activation. The algorithm for this is
// to find the first POA in the `path' that exists. We
@@ -50,10 +57,13 @@
String[] newID = new String[poaId.length - 1];
System.arraycopy(poaId, 0, newID, 0, poaId.length - 1);
poaId = newID;
- poa = (org.omg.PortableServer.POA) poas_.get(new POANameHasher(
- poaId));
- if (poa != null)
+ POANameHasher key = new POANameHasher(poaId);
+ logger.fine("Searching POA hierarchy for " + key);
+ poa = (org.omg.PortableServer.POA) poas_.get(key);
+ if (poa != null) {
+ logger.fine("Located POA using " + key);
break;
+ }
} while (poaId.length > 0);
//
@@ -61,10 +71,12 @@
// the POA's or we're done.
//
for (int i = remaining.size(); i > 0 && poa != null; i--) {
+ String key = (String) remaining.elementAt(i - 1);
try {
- poa = poa.find_POA((String) remaining.elementAt(i - 1),
- true);
+ logger.fine("Searching up hierarchy using key " + key);
+ poa = poa.find_POA(key, true);
} catch (org.omg.PortableServer.POAPackage.AdapterNonExistent ex) {
+ logger.fine("Failure locating POA using key " + key);
poa = null;
}
}
@@ -77,6 +89,7 @@
//
synchronized void add(org.omg.PortableServer.POA poa, String[] id) {
POANameHasher idkey = new POANameHasher(id);
+ logger.fine("Adding POA to locater using key " + idkey);
org.apache.yoko.orb.OB.Assert._OB_assert(!poas_.containsKey(idkey));
poas_.put(idkey, poa);
}
@@ -86,6 +99,7 @@
//
synchronized void remove(String[] id) {
POANameHasher idkey = new POANameHasher(id);
+ logger.fine("Removing POA from locater using key " + idkey);
org.apache.yoko.orb.OB.Assert._OB_assert(poas_.containsKey(idkey));
poas_.remove(idkey);
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManagerFactory_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManagerFactory_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManagerFactory_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManagerFactory_impl.java Fri Mar 21 06:22:39 2008
@@ -409,6 +409,9 @@
//
// Ignore -- the POAManager isn't valid anymore
//
+
+ } catch (org.omg.CORBA.OBJECT_NOT_EXIST ex) {
+ // also ignored. At this point, we just want to determine if there is a local version.
}
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManager_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManager_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManager_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAManager_impl.java Fri Mar 21 06:22:39 2008
@@ -17,6 +17,9 @@
package org.apache.yoko.orb.OBPortableServer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import org.apache.yoko.orb.OBPortableServer.COMMUNICATIONS_CONCURRENCY_POLICY_ID;
import org.apache.yoko.orb.OBPortableServer.COMMUNICATIONS_CONCURRENCY_POLICY_REACTIVE;
import org.apache.yoko.orb.OBPortableServer.COMMUNICATIONS_CONCURRENCY_POLICY_THREADED;
@@ -31,8 +34,9 @@
import org.apache.yoko.orb.OBPortableServer.POAManager;
import org.omg.PortableServer.POAManagerPackage.*;
-final public class POAManager_impl extends org.omg.CORBA.LocalObject implements
- POAManager {
+final public class POAManager_impl extends org.omg.CORBA.LocalObject implements POAManager {
+ static final Logger logger = Logger.getLogger(POAManager_impl.class.getName());
+
//
// The ORBInstance
//
@@ -175,15 +179,19 @@
// ------------------------------------------------------------------
public synchronized void activate() throws AdapterInactive {
+ logger.fine("Activating POAManager " + id_ + " current state is " + state_);
//
// If the POA manager is in inactive state then raise the
// AdapterInactive exception
//
- if (state_ == State.INACTIVE)
+ if (state_ == State.INACTIVE) {
throw new AdapterInactive();
+ }
- if (state_ == State.ACTIVE)
+ if (state_ == State.ACTIVE) {
+ logger.fine("POAManager already active, returning");
return;
+ }
//
// Switch to the active state.
@@ -436,12 +444,7 @@
//
String rootKey = "yoko.orb.poamanager." + id_ + ".";
int rootKeyLen = rootKey.length();
-
- //
- // Get the Logger
- //
- org.apache.yoko.orb.OB.Logger logger = orbInstance_.getLogger();
-
+
//
// Get the ORB properties
//
@@ -635,7 +638,7 @@
} else {
String err = fullkey
+ ": expected `1.0', `1.1' or `1.2'";
- logger.error(err);
+ logger.severe(err);
throw new org.omg.CORBA.INITIALIZE(err);
}
}
@@ -660,6 +663,8 @@
//
synchronized void _OB_addPOA(org.omg.PortableServer.POA poa, String[] id) {
POANameHasher idkey = new POANameHasher(id);
+
+ logger.fine("Adding new poa with id " + idkey);
org.apache.yoko.orb.OB.Assert._OB_assert(!poas_.containsKey(idkey));
poas_.put(idkey, poa);
@@ -671,6 +676,7 @@
//
synchronized void _OB_removePOA(String[] id) {
POANameHasher idkey = new POANameHasher(id);
+ logger.fine("Removing poa with id " + idkey);
org.apache.yoko.orb.OB.Assert._OB_assert(poas_.containsKey(idkey));
poas_.remove(idkey);
@@ -680,12 +686,14 @@
DirectServant _OB_getDirectServant(byte[] key,
org.apache.yoko.orb.OB.RefCountPolicyList policies)
throws org.apache.yoko.orb.OB.LocationForward, AdapterInactive {
+
synchronized (this) {
if (state_ == State.INACTIVE)
throw new AdapterInactive();
}
-
+
org.apache.yoko.orb.OB.ObjectKeyData data = new org.apache.yoko.orb.OB.ObjectKeyData();
+
if (org.apache.yoko.orb.OB.ObjectKey.ParseObjectKey(key, data)) {
org.omg.PortableServer.POA poa;
synchronized (this) {
@@ -723,11 +731,13 @@
// INACTIVE state, then something is wrong.
//
org.apache.yoko.orb.OB.Assert._OB_assert(get_state() != State.INACTIVE);
+ logger.fine("Searching for direct servant with key " + data);
org.omg.PortableServer.POA poa = null;
if (data.serverId.equals(serverId_)) {
- poa = (org.omg.PortableServer.POA) poas_.get(new POANameHasher(
- data.poaId));
+ POANameHasher key = new POANameHasher(data.poaId);
+ logger.fine("Searching for direct servant with poa key " + key);
+ poa = (org.omg.PortableServer.POA) poas_.get(key);
if (poa == null) {
//
// The POA isn't contained in our local POA table. Ask the
@@ -740,16 +750,15 @@
// hence some other end-point) then location forward
//
if (poa != null) {
- org.omg.PortableServer.POAManager manager = poa
- .the_POAManager();
+ logger.fine("Attempting to obtain a local reference to an object activated on a differnt POA");
+ org.omg.PortableServer.POAManager manager = poa.the_POAManager();
if (manager != this) {
Object obj = poa.create_reference_with_id(data.oid, "");
org.apache.yoko.orb.CORBA.Delegate p = (org.apache.yoko.orb.CORBA.Delegate) (((org.omg.CORBA.portable.ObjectImpl) obj)
._get_delegate());
org.omg.IOP.IOR ior = p._OB_IOR();
- throw new org.apache.yoko.orb.OB.LocationForward(ior,
- false);
+ throw new org.apache.yoko.orb.OB.LocationForward(ior, false);
}
}
}
@@ -761,8 +770,10 @@
//
if (poa != null) {
POA_impl poaImpl = (POA_impl) poa;
- if (!poaImpl._OB_poaMatches(data, false))
+ if (!poaImpl._OB_poaMatches(data, false)) {
+ logger.fine("POA located but object key data doesn't match");
poa = null;
+ }
}
return poa;
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POANameHasher.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POANameHasher.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POANameHasher.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POANameHasher.java Fri Mar 21 06:22:39 2008
@@ -49,4 +49,13 @@
return true;
}
+
+ public String toString() {
+ StringBuffer buf = new StringBuffer();
+ for (int i = 0; i < poaId_.length; i++) {
+ buf.append('/');
+ buf.append(poaId_[i]);
+ }
+ return buf.toString();
+ }
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAOAInterface_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAOAInterface_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAOAInterface_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POAOAInterface_impl.java Fri Mar 21 06:22:39 2008
@@ -17,7 +17,9 @@
package org.apache.yoko.orb.OBPortableServer;
-import org.apache.yoko.orb.OB.Logger;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import org.apache.yoko.orb.OB.IORUtil;
//
@@ -29,6 +31,7 @@
//
final class POAOAInterface_impl extends org.omg.CORBA.LocalObject implements
org.apache.yoko.orb.OB.OAInterface {
+ static final Logger logger = Logger.getLogger(POAOAInterface_impl.class.getName());
//
// The ORBInstance
//
@@ -72,26 +75,27 @@
String op, org.apache.yoko.orb.CORBA.InputStream in,
org.omg.IOP.ServiceContext[] requestSCL) {
org.apache.yoko.orb.OB.Upcall upcall = null;
+ logger.fine("Creating upcall for operation " + op);
try {
//
// If discarding then throw a TRANSIENT exception
//
- if (discard_)
+ if (discard_) {
throw new org.omg.CORBA.TRANSIENT(
"Requests are being discarded", 0,
org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+ }
org.apache.yoko.orb.OB.ObjectKeyData data = new org.apache.yoko.orb.OB.ObjectKeyData();
- if (org.apache.yoko.orb.OB.ObjectKey.ParseObjectKey(
- profileInfo.key, data)) {
+ if (org.apache.yoko.orb.OB.ObjectKey.ParseObjectKey(profileInfo.key, data)) {
while (true) {
//
// Locate the POA. This may also throw a TRANSIENT
// exception if the POA manager is discarding.
//
- org.omg.PortableServer.POA poa = poaManager_
- ._OB_locatePOA(data);
+ org.omg.PortableServer.POA poa = poaManager_._OB_locatePOA(data);
if (poa != null) {
+ logger.fine("Unable to locate POA " + data + " using POAManager " + poaManager_.get_id());
POA_impl poaImpl = (POA_impl) poa;
upcall = poaImpl._OB_createUpcall(data.oid,
upcallReturn, profileInfo, transportInfo,
@@ -101,20 +105,22 @@
// then we should retry since that means that the
// POA is being destroyed
//
- if (upcall == null)
+ if (upcall == null) {
continue;
+ }
}
break;
}
} else if (upcallReturn != null) {
+ logger.fine("Error parsing object key data");
//
// Check to see if the BootManager knows of a reference
// for the ObjectKey. If so, forward the request.
//
- org.omg.IOP.IOR ior = bootManagerImpl_
- ._OB_locate(profileInfo.key);
- if (ior != null)
+ org.omg.IOP.IOR ior = bootManagerImpl_._OB_locate(profileInfo.key);
+ if (ior != null) {
throw new org.apache.yoko.orb.OB.LocationForward(ior, false);
+ }
}
//
// If no upcall has been created then the object simply
@@ -128,23 +134,26 @@
upcall.preUnmarshal();
upcall.postUnmarshal();
upcall.postinvoke();
- org.omg.CORBA.portable.OutputStream out = upcall
- .preMarshal();
+ org.omg.CORBA.portable.OutputStream out = upcall.preMarshal();
out.write_boolean(true);
upcall.postMarshal();
- } else
+ }
+ else {
throw new org.omg.CORBA.OBJECT_NOT_EXIST(
org.apache.yoko.orb.OB.MinorCodes
.describeObjectNotExist(org.apache.yoko.orb.OB.MinorCodes.MinorCannotDispatch),
org.apache.yoko.orb.OB.MinorCodes.MinorCannotDispatch,
org.omg.CORBA.CompletionStatus.COMPLETED_NO);
+ }
}
} catch (org.omg.CORBA.SystemException ex) {
+ logger.log(Level.FINE, "System exception creating upcall", ex);
upcall = new org.apache.yoko.orb.OB.Upcall(orbInstance_,
upcallReturn, profileInfo, transportInfo, requestId, op,
in, requestSCL);
upcall.setSystemException(ex);
} catch (org.apache.yoko.orb.OB.LocationForward ex) {
+ logger.log(Level.FINE, "Location forward request creating upcall.", ex);
upcall = new org.apache.yoko.orb.OB.Upcall(orbInstance_,
upcallReturn, profileInfo, transportInfo, requestId, op,
in, requestSCL);
@@ -157,15 +166,11 @@
public int findByKey(byte[] key, org.omg.IOP.IORHolder ior) {
org.apache.yoko.orb.OB.ObjectKeyData data = new org.apache.yoko.orb.OB.ObjectKeyData();
- Logger logger = orbInstance_.getLogger();
if (org.apache.yoko.orb.OB.ObjectKey.ParseObjectKey(key, data)) {
try {
- if (logger.isDebugEnabled()) {
- logger.debug("Locate request for object key " + key);
- }
+ logger.fine("Locate request for object key " + data);
- org.omg.PortableServer.POA poa = poaManager_
- ._OB_locatePOA(data);
+ org.omg.PortableServer.POA poa = poaManager_._OB_locatePOA(data);
if (poa != null) {
POA_impl poaImpl = (POA_impl) poa;
poaImpl._OB_locateServant(data.oid);
@@ -182,12 +187,11 @@
// Check to see if the BootManager knows of a reference
// for the ObjectKey.
//
- if (logger.isDebugEnabled()) {
- logger.debug("Checking boot manager for object with key " + IORUtil.format_octets(key));
- }
+ logger.fine("Checking boot manager for object with key " + data);
ior.value = bootManagerImpl_._OB_locate(key);
- if (ior.value != null)
+ if (ior.value != null) {
return org.apache.yoko.orb.OB.OAInterface.OBJECT_FORWARD;
+ }
}
return org.apache.yoko.orb.OB.OAInterface.UNKNOWN_OBJECT;
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POA_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POA_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POA_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OBPortableServer/POA_impl.java Fri Mar 21 06:22:39 2008
@@ -1,10 +1,10 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@@ -17,6 +17,9 @@
package org.apache.yoko.orb.OBPortableServer;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
import org.apache.yoko.orb.OBPortableServer.DISPATCH_STRATEGY_POLICY_ID;
import org.apache.yoko.orb.OBPortableServer.DispatchStrategyPolicy;
import org.apache.yoko.orb.OBPortableServer.INTERCEPTOR_CALL_POLICY_ID;
@@ -30,6 +33,7 @@
import org.apache.yoko.orb.OBPortableServer.SynchronizationPolicyValue;
final public class POA_impl extends org.omg.CORBA.LocalObject implements POA {
+ static final Logger logger = Logger.getLogger(POA_impl.class.getName());
//
// The ORB
//
@@ -433,6 +437,7 @@
//
String orbId = orbInstance_.getOrbId();
String serverId = orbInstance_.getServerId();
+ logger.fine("POA " + name_ + " activated on ORB " + orbId + " and server " + serverId);
if (policies_.lifespanPolicy() == org.omg.PortableServer.LifespanPolicyValue.PERSISTENT)
adapterTemplate_ = new org.apache.yoko.orb.OBPortableInterceptor.PersistentORT_impl(
orbInstance_, serverId, orbId, poaId_, iorTemplate);
@@ -522,6 +527,8 @@
ort_ = null;
childTemplates_ = new java.util.Vector();
callAdapterStateChange_ = true;
+
+ logger.fine("Creating POA " + name + " using manager " + manager.get_id());
//
// Set my POA id
@@ -633,8 +640,11 @@
//
// Has the POA been destroyed?
//
- if (poaControl_.getDestroyed())
+ if (poaControl_.getDestroyed()) {
throw new org.omg.CORBA.OBJECT_NOT_EXIST("POA has been destroyed");
+ }
+
+ logger.fine("POA " + name_ + " creating new POA with name " + adapter);
//
// Are the requested policies valid?
@@ -654,8 +664,9 @@
// (by calling create_POA again)
//
synchronized (children_) {
- if (children_.containsKey(adapter))
+ if (children_.containsKey(adapter)) {
throw new org.omg.PortableServer.POAPackage.AdapterAlreadyExists();
+ }
//
// If necessary create a new POAManager for this POA
@@ -666,8 +677,7 @@
org.apache.yoko.orb.OB.InitialServiceManager ism = orbInstance_
.getInitialServiceManager();
POAManagerFactory factory = POAManagerFactoryHelper
- .narrow(ism
- .resolveInitialReferences("POAManagerFactory"));
+ .narrow(ism.resolveInitialReferences("POAManagerFactory"));
org.omg.CORBA.Policy[] emptyPl = new org.omg.CORBA.Policy[0];
obmanager = (org.apache.yoko.orb.OBPortableServer.POAManager) factory
.create_POAManager(adapter, emptyPl);
@@ -726,8 +736,11 @@
throws org.omg.PortableServer.POAPackage.AdapterNonExistent {
org.apache.yoko.orb.OB.Assert._OB_assert(adapter != null);
- if (poaControl_.getDestroyed())
+ if (poaControl_.getDestroyed()) {
throw new org.omg.CORBA.OBJECT_NOT_EXIST("POA has been destroyed");
+ }
+
+ logger.fine("POA " + name_ + " finding POA with name " + adapter);
boolean check = true;
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Acceptor_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Acceptor_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Acceptor_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Acceptor_impl.java Fri Mar 21 06:22:39 2008
@@ -109,6 +109,7 @@
logger.fine("Accepting connection for host=" + localAddress_ + ", port=" + port_);
socket = socket_.accept();
+ logger.fine("Received inbound connection on socket " + socket);
} catch (java.io.InterruptedIOException ex) {
if (!block)
return null; // Timeout
@@ -411,9 +412,10 @@
org.apache.yoko.orb.OCI.ProfileInfoSeqHolder profileInfoSeq = new org.apache.yoko.orb.OCI.ProfileInfoSeqHolder();
profileInfoSeq.value = new org.apache.yoko.orb.OCI.ProfileInfo[0];
- for (int i = 0; i < hosts_.length; i++)
+ for (int i = 0; i < hosts_.length; i++) {
Util.extractAllProfileInfos(ior, profileInfoSeq, true, hosts_[i],
port_, true);
+ }
return profileInfoSeq.value;
}
@@ -429,15 +431,13 @@
public Acceptor_impl(String[] hosts, boolean multiProfile, int port,
int backlog, boolean keepAlive, ConnectionHelper helper, ListenerMap lm) {
- // System.out.println("Acceptor_impl");
-
hosts_ = hosts;
multiProfile_ = multiProfile;
keepAlive_ = keepAlive;
connectionHelper_ = helper;
info_ = new AcceptorInfo_impl(this);
listenMap_ = lm;
-
+
if (backlog == 0)
backlog = 50; // 50 is the JDK's default value
@@ -469,6 +469,7 @@
// the operating system.
//
port_ = socket_.getLocalPort();
+ logger.fine("Acceptor created using socket " + socket_);
} catch (java.net.BindException ex) {
logger.log(Level.FINE, "Failure creating server socket for host=" + localAddress_ + ", port=" + port_, ex);
throw (org.omg.CORBA.COMM_FAILURE)new org.omg.CORBA.COMM_FAILURE(
@@ -535,7 +536,7 @@
// the operating system.
//
port_ = socket_.getLocalPort();
- logger.fine("Created acceptor socket for port=" + port_ + " localAddress=" + localAddress_);
+ logger.fine("Acceptor created using socket " + socket_);
} catch (java.net.BindException ex) {
logger.log(Level.FINE, "Failure creating server socket for host=" + localAddress_ + ", port=" + port, ex);
throw (org.omg.CORBA.COMM_FAILURE)new org.omg.CORBA.COMM_FAILURE(
@@ -577,5 +578,9 @@
}
super.finalize();
+ }
+
+ public String toString() {
+ return "Acceptor listening on " + socket_;
}
}
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Connector_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Connector_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Connector_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Connector_impl.java Fri Mar 21 06:22:39 2008
@@ -118,6 +118,7 @@
try {
logger.fine("Connecting to host=" + address + ", port=" + port_);
socket_ = connectionHelper_.createSocket(ior_, policies_, address, port_);
+ logger.fine("Connection created with socket " + socket_);
} catch (java.net.ConnectException ex) {
logger.log(Level.FINE, "Error connecting to host=" + address + ", port=" + port_, ex);
throw new org.omg.CORBA.TRANSIENT(
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Transport_impl.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Transport_impl.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Transport_impl.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Transport_impl.java Fri Mar 21 06:22:39 2008
@@ -192,6 +192,7 @@
public void receive(org.apache.yoko.orb.OCI.Buffer buf, boolean block) {
setBlock(block);
+ logger.fine("receiving a buffer of " + buf.rest_length() + " from " + socket_ + " using transport " + this);
while (!buf.is_full()) {
try {
int result = in_.read(buf.data(), buf.pos(), buf.rest_length());
@@ -204,6 +205,7 @@
}
buf.advance(result);
} catch (java.io.InterruptedIOException ex) {
+ logger.log(Level.FINE, "Received interrupted exception", ex);
buf.advance(ex.bytesTransferred);
if (!block)
@@ -329,7 +331,9 @@
public void send(org.apache.yoko.orb.OCI.Buffer buf, boolean block) {
setBlock(block);
-
+
+ logger.fine("Sending buffer of size " + buf.rest_length() + " to " + " using transport " + this);
+
while (!buf.is_full()) {
try {
out_.write(buf.data(), buf.pos(), buf.rest_length());
@@ -492,6 +496,8 @@
java.net.Socket socket, ListenerMap lm) {
socket_ = socket;
shutdown_ = false;
+
+ logger.fine("Creating new transport for socket " + socket);
//
// Cache the streams associated with the socket, for
Modified: geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Util.java
URL: http://svn.apache.org/viewvc/geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Util.java?rev=639632&r1=639631&r2=639632&view=diff
==============================================================================
--- geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Util.java (original)
+++ geronimo/yoko/trunk/core/src/main/java/org/apache/yoko/orb/OCI/IIOP/Util.java Fri Mar 21 06:22:39 2008
@@ -158,10 +158,12 @@
org.apache.yoko.orb.OCI.ProfileInfoSeqHolder profileInfoSeq,
boolean performMatch, String host, int port, boolean loopbackMatches) {
short portNo;
- if (port >= 0x8000)
+ if (port >= 0x8000) {
portNo = (short) (port - 0xffff - 1);
- else
+ }
+ else {
portNo = (short) port;
+ }
java.util.Vector vec = new java.util.Vector();
for (int i = 0; i < ior.profiles.length; i++) {
@@ -184,11 +186,12 @@
if (body.iiop_version.major > 1 || body.iiop_version.minor > 0) {
int len = in.read_ulong();
components = new org.omg.IOP.TaggedComponent[len];
- for (int j = 0; j < len; j++)
- components[j] = org.omg.IOP.TaggedComponentHelper
- .read(in);
- } else
+ for (int j = 0; j < len; j++) {
+ components[j] = org.omg.IOP.TaggedComponentHelper.read(in);
+ }
+ } else {
components = new org.omg.IOP.TaggedComponent[0];
+ }
if (performMatch) {
//
@@ -252,9 +255,9 @@
org.apache.yoko.orb.OCI.ProfileInfo[] arr = new org.apache.yoko.orb.OCI.ProfileInfo[len
+ vec.size()];
System.arraycopy(profileInfoSeq.value, 0, arr, 0, len);
- for (int i = 0; i < vec.size(); i++)
- arr[len + i] = (org.apache.yoko.orb.OCI.ProfileInfo) vec
- .elementAt(i);
+ for (int i = 0; i < vec.size(); i++) {
+ arr[len + i] = (org.apache.yoko.orb.OCI.ProfileInfo) vec.elementAt(i);
+ }
profileInfoSeq.value = arr;
}
}