| <!-- |
| ! 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 |
| ! |
| ! http://www.apache.org/licenses/LICENSE-2.0 |
| ! |
| ! Unless required by applicable law or agreed to in writing, software |
| ! distributed under the License is distributed on an "AS IS" BASIS, |
| ! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ! See the License for the specific language governing permissions and |
| ! limitations under the License. |
| !--> |
| <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| <html> |
| |
| <body text="#000000" bgcolor="#ffffff" link="#9b37cc" |
| vlink="#cc1877" alink="#ffffff"> |
| <a name="top"> |
| <title>Release Notes for net.jini.jeri</title> |
| |
| <center> |
| <h1><code>net.jini.jeri</code><br> |
| Apache River v3.0.0 Release Notes</h1> |
| </center> |
| <HR> |
| <UL> |
| <H3>Description</H3> |
| |
| <p>The <a |
| href="../api/net/jini/jeri/package-summary.html"><code>net.jini.jeri</code></a> |
| package and its subpackages provide APIs for Jini extensible remote |
| invocation (Jini ERI) and several Jini ERI transport layer providers. |
| <H3>Changes since the v2.2.0 release</H3> |
| |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-397'>RIVER-397</a>] - Mux.start() can block indefinitely |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-142'>RIVER-142</a>] - concurrency problem in DGC lease expiration handling |
| </li> |
| <H3>Changes since the v2.1.1 release</H3> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-22'>RIVER-22</a>] - |
| NPE in net.jini.jeri.tcp.TcpEndpoint$ConnectionImpl.checkConnectPermission |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-209'>RIVER-209</a>] - |
| NullPointerException in SslConnection.checkConnectPermission() |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-212'>RIVER-212</a>] - |
| use of "enum" as a variable name |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-229'>RIVER-229</a>] - |
| reduce number of Reaper threads created by ConnectionManager |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-230'>RIVER-230</a>] - |
| (mux) SelectionManager catch Error block assumes getMessage() returns non-null |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-240'>RIVER-240</a>] - |
| BasicInvocationDispatcher.dispatch could log more info for some exceptions |
| </li> |
| <li>[<a href='https://issues.apache.org/jira/browse/RIVER-254'>RIVER-254</a>] - |
| request initiation can block on I/O for inapplicable connection |
| </li> |
| |
| <H3>Changes since the v2.0.1 release</H3> |
| |
| |
| |
| <dt><b>Multihomed host support</b></dt> |
| <dd> |
| <p>As recommended by RFC 1123, the transport endpoints now attempt connections |
| to all the IP addresses that a given host name may resolve to, instead of just |
| the first one. |
| </dd> |
| |
| <dt><b>Trust verification restriction</b> |
| <dd><p><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html"><code>BasicJeriTrustVerifier</code></a> |
| has been changed to trust fewer dynamic proxies. In particular, in addition to |
| implementing |
| <a href="../api/net/jini/core/constraint/RemoteMethodControl.html"><code>RemoteMethodControl</code></a>, |
| the dynamic proxy must now implement one or more well-formed remote interfaces |
| (ones that extend <code>Remote</code> and for which all methods declare |
| <code>RemoteException</code> or a superclass in their throws clause), and |
| must not implement any other interfaces except |
| <a href="../api/net/jini/security/proxytrust/TrustEquivalence.html"><code>TrustEquivalence</code></a>. |
| </dd> |
| |
| <dt><b>New <code>BasicJeriTrustVerifier</code> <code>protected</code> |
| methods</b> |
| |
| <dd><p><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html"><code>BasicJeriTrustVerifier</code></a> |
| has five new <code>protected</code> methods to allow for more |
| convenient implementation of certain behaviors through subclassing: |
| |
| <ul> |
| |
| <li><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#hasTrustedProxyClass(java.lang.Object,%20net.jini.security.TrustVerifier.Context)"><code>hasTrustedProxyClass</code></a> |
| can be overridden by subclasses to control which dynamic proxy classes for |
| Jini ERI proxies are considered locally trusted. |
| |
| <li><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#hasTrustedClassLoader(java.lang.Object,%20net.jini.security.TrustVerifier.Context)"><code>hasTrustedClassLoader</code></a> |
| can be overridden by subclasses to control the set of class loaders |
| for which the class of a Jini ERI proxy, when defined by one of those |
| loaders, is considered locally trusted. |
| |
| <li><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#isTrustedProxyInterface(java.lang.Class,%20net.jini.security.TrustVerifier.Context)"><code>isTrustedProxyInterface</code></a> |
| can be overridden by subclasses to control which dynamic proxy interfaces for |
| Jini ERI proxies are considered locally trusted. |
| |
| <li><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#isTrustedInvocationHandler(java.lang.reflect.InvocationHandler,%20net.jini.security.TrustVerifier.Context)"><code>isTrustedInvocationHandler</code></a> |
| can be overridden by subclasses to support verification of invocation |
| handlers that have a locally trusted class other than <a |
| href="../api/net/jini/jeri/BasicInvocationHandler.html"><code>BasicInvocationHandler</code></a> |
| (such as a subclass of <code>BasicInvocationHandler</code>). |
| |
| <li><a |
| href="../api/net/jini/jeri/BasicJeriTrustVerifier.html#checkInvocationHandlerContent(net.jini.jeri.BasicInvocationHandler,%20net.jini.security.TrustVerifier.Context)"><code>checkInvocationHandlerContent</code></a> |
| can be invoked by subclasses that override |
| <code>isTrustedInvocationHandler</code> to perform the verification |
| steps that the default implementation of |
| <code>isTrustedInvocationHandler</code> would perform, except that the |
| class of the invocation handler is not required to be |
| <code>BasicInvocationHandler</code> exactly, so that trusted |
| subclasses can be supported. |
| |
| </ul> |
| <hr> |
| 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 |
| <ul> |
| <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a> |
| </ul> |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| </body> |
| </html> |