Borland(R) Enterprise Server VisiBroker(R) デベロッパーズガイド
4種類のサーバインタセプタがあります。
サーバインタセプタの詳細については,「19. ポータブルインタセプタの使用」を参照してください。
POALifeCycleInterceptorオブジェクトはPOAが(create()メソッドによって)生成されるたび,または(destroy()メソッドによって)デストラクトされるたびに呼び出されるグローバルインタセプタです。
package com.inprise.vbroker.InterceptorExt; public interface POALifeCycleInterceptor { public void create(org.omg.PortableServer.POA poa, org.omg.CORBA.PolicyListHolder policies_holder, IORValueHolder iorTemplate, InterceptorManagerControl control); public void destroy(org.omg.PortableServer.POA poa); }
ActiveObjectLifeCycleInterceptorオブジェクトは,オブジェクトが(createメソッドによって)アクティブオブジェクトマップに追加された場合,またはオブジェクトが(destroyメソッドによって)停止し,エーテライズされたあとに呼び出されます。インタセプタは,POALifeCycleInterceptorによって,POA生成時にPOAごとに登録できます。このインタセプタは,POAにRETAINポリシーがある場合だけ登録できます。
package com.inprise.vbroker.InterceptorExt; public interface ActiveObjectLifeCycleInterceptor { public void create(byte[ ] oid,, org.omg.PortableServer.Servant servant, org.omg.PortableServer.POA adapter); public void destroy (byte[ ] oid,, org.omg.PortableServer.Servant servant, org.omg.PortableServer.POA adapter); }
ServerRequestInterceptorオブジェクトは,リモートオブジェクトのサーバインプリメンテーションの起動中のさまざまな段階,例えば(preinvokeメソッドによる)起動前,(postinvoke_premarshalおよびpostinvoke_premarshalメソッドによる)応答のマーシャル前後の起動後に呼び出されます。このインタセプタは,POAごとに,POAの生成時にPOALifeCycleInterceptorオブジェクトによって登録できます。
package com.inprise.vbroker.InterceptorExt; public interface ServerRequestInterceptor { public void preinvoke(org.omg.CORBA.Object target, String operation, ServiceContext [ ] service_contexts, InputStream payload, Closure closure); public void postinvoke_premarshal(org.omg.CORBA.Object target, ServiceContextListHolder service_contexts_holder, org.omg.CORBA.Environment env, Closure closure); public void postinvoke_postmarshal(org.omg.CORBA.Object target, OutputStream payload, Closure closure); public void exception_occurred(org.omg.CORBA.Object target, org.omg.CORBA.Environment env, Closure closure); }
IORCreationInterceptorオブジェクトは,POAが(createメソッドによって)オブジェクトリファレンスを生成する場合に呼び出されます。このインタセプタは,POAごとに,POAの生成時にPOALifeCycleInterceptorオブジェクトによって登録できます。
package com.inprise.vbroker.InterceptorExt; public interface IORCreationInterceptor { public void create(org.omg.PortableServer.POA poa, IORValueHolder ior); }
All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd.
COPYRIGHT (C) 1992-2004 Borland Software Corporation. All rights reserved.