public class HessianClientInterceptor extends UrlBasedRemoteAccessor implements MethodInterceptor
MethodInterceptor
。ユーザー名とパスワードによる認証をサポートします。サービス URL は、Hessian サービスを公開する HTTP URL である必要があります。Hessian は、スリムなバイナリ RPC プロトコルです。Hessian の詳細については、HessianWeb サイトを参照してください。注: Spring 4.0 以降、このクライアントには Hessian 4.0 以降が必要です。
メモ: このプロキシファクトリでアクセスされるサービスが、Spring の HessianServiceExporter
を使用してエクスポートされている必要はありません。特別な処理は含まれていないためです。その結果、Caucho の HessianServlet
を使用してエクスポートされたサービスにアクセスすることもできます。
RemoteAccessor.setServiceInterface(java.lang.Class<?>)
, UrlBasedRemoteAccessor.setServiceUrl(java.lang.String)
, setUsername(java.lang.String)
, setPassword(java.lang.String)
, HessianServiceExporter
, HessianProxyFactoryBean
, HessianProxyFactory
, HessianServlet
logger
コンストラクターと説明 |
---|
HessianClientInterceptor() |
修飾子と型 | メソッドと説明 |
---|---|
void | afterPropertiesSet() 指定されたすべての Bean プロパティを設定した(そして BeanFactoryAware と ApplicationContextAware を満たした)後に BeanFactory によって呼び出されます。 |
protected RemoteAccessException | convertHessianAccessException(ThrowableSE ex) 指定された Hessian アクセス例外を適切な Spring RemoteAccessException に変換します。 |
protected ObjectSE | createHessianProxy(com.caucho.hessian.client.HessianProxyFactory proxyFactory) このインターセプターによってラップされる Hessian プロキシを作成します。 |
ObjectSE | invoke(MethodInvocation invocation) このメソッドを実装して、呼び出しの前後に追加の処理を実行します。 |
void | prepare() このインターセプターの Hessian プロキシを初期化します。 |
void | setAllowNonSerializable(boolean allowNonSerializable) シリアライズ不可能な型を Hessian 引数および戻り値として許可するかどうかを設定します。 |
void | setChunkedPost(boolean chunkedPost) Hessian リクエストの送信にチャンクポストを使用するかどうかを設定します。 |
void | setConnectionFactory(com.caucho.hessian.client.HessianConnectionFactory connectionFactory) Hessian クライアントに使用するカスタム HessianConnectionFactory を指定します。 |
void | setConnectTimeout(long timeout) Hessian クライアントで使用するソケット接続タイムアウトを設定します。 |
void | setDebug(boolean debug) Hessian のデバッグモードを有効にするかどうかを設定します。 |
void | setHessian2(boolean hessian2) Hessian プロトコルのバージョン 2 を使用してリクエストと応答を解析するかどうかを設定します。 |
void | setHessian2Reply(boolean hessian2) Hessian プロトコルのバージョン 2 を応答の解析に使用するかどうかを設定します。 |
void | setHessian2Request(boolean hessian2) Hessian プロトコルのバージョン 2 をリクエストの解析に使用するかどうかを設定します。 |
void | setOverloadEnabled(boolean overloadEnabled) リモート呼び出しでオーバーロードされたメソッドを有効にするかどうかを設定します。 |
void | setPassword(StringSE password) このファクトリがリモートサービスにアクセスするために使用するパスワードを設定します。 |
void | setProxyFactory(com.caucho.hessian.client.HessianProxyFactory proxyFactory) 使用する HessianProxyFactory インスタンスを設定します。 |
void | setReadTimeout(long timeout) Hessian サービスからの応答を待つときに使用するタイムアウトを設定します。 |
void | setSendCollectionType(boolean sendCollectionType) 直列化されたコレクションごとに Java コレクション型を送信するかどうかを設定します。 |
void | setSerializerFactory(com.caucho.hessian.io.SerializerFactory serializerFactory) 使用する Hessian SerializerFactory を指定します。 |
void | setUsername(StringSE username) このファクトリがリモートサービスにアクセスするために使用するユーザー名を設定します。 |
getServiceUrl, setServiceUrl
getServiceInterface, setServiceInterface
getBeanClassLoader, overrideThreadContextClassLoader, resetThreadContextClassLoader, setBeanClassLoader
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setProxyFactory(@Nullable com.caucho.hessian.client.HessianProxyFactory proxyFactory)
外部で構成されたファクトリインスタンス、特にカスタム HessianProxyFactory サブクラスを使用できます。
public void setSerializerFactory(com.caucho.hessian.io.SerializerFactory serializerFactory)
これは通常、型 com.caucho.hessian.io.SerializerFactory
の内部 Bean 定義として渡され、カスタム Bean プロパティ値が適用されます。
public void setSendCollectionType(boolean sendCollectionType)
public void setAllowNonSerializable(boolean allowNonSerializable)
public void setOverloadEnabled(boolean overloadEnabled)
HessianProxyFactory.setOverloadEnabled(boolean)
public void setUsername(StringSE username)
ユーザー名は、HTTP 基本認証を介して Hessian によって送信されます。
HessianProxyFactory.setUser(java.lang.String)
public void setPassword(StringSE password)
パスワードは、HTTP 基本認証を介して Hessian によって送信されます。
HessianProxyFactory.setPassword(java.lang.String)
public void setDebug(boolean debug)
HessianProxyFactory.setDebug(boolean)
public void setChunkedPost(boolean chunkedPost)
HessianProxyFactory.setChunkedPost(boolean)
public void setConnectionFactory(com.caucho.hessian.client.HessianConnectionFactory connectionFactory)
public void setConnectTimeout(long timeout)
HessianProxyFactory.setConnectTimeout(long)
public void setReadTimeout(long timeout)
HessianProxyFactory.setReadTimeout(long)
public void setHessian2(boolean hessian2)
HessianProxyFactory.setHessian2Request(boolean)
public void setHessian2Request(boolean hessian2)
HessianProxyFactory.setHessian2Request(boolean)
public void setHessian2Reply(boolean hessian2)
HessianProxyFactory.setHessian2Reply(boolean)
public void afterPropertiesSet()
InitializingBean
このメソッドにより、Bean インスタンスは、すべての Bean プロパティが設定されている場合にのみ可能な初期化を実行し、設定ミスの場合に例外をスローできます。
InitializingBean
の afterPropertiesSet
UrlBasedRemoteAccessor
の afterPropertiesSet
public void prepare() throws RemoteLookupFailureException
RemoteLookupFailureException
- サービス URL が無効な場合 protected ObjectSE createHessianProxy(com.caucho.hessian.client.HessianProxyFactory proxyFactory) throws MalformedURLExceptionSE
proxyFactory
- 使用するプロキシファクトリ MalformedURLExceptionSE
- プロキシファクトリによってスローされた場合 HessianProxyFactory.create(java.lang.String)
@Nullable public ObjectSE invoke(MethodInvocation invocation) throws ThrowableSE
MethodInterceptor
Joinpoint.proceed()
を呼び出すようにします。MethodInterceptor
の invoke
invocation
- メソッド呼び出しジョインポイント Joinpoint.proceed()
の呼び出しの結果。インターセプターによってインターセプトされる可能性があります ThrowableSE
- インターセプターまたはターゲットオブジェクトが例外をスローする場合 protected RemoteAccessException convertHessianAccessException(ThrowableSE ex)
ex
- 変換する例外