📄 callbackthread.java
字号:
/**
* Copyright (c) 1996-2004 Borland Software Corporation. All Rights Reserved.
*
* This SOURCE CODE FILE, which has been provided by Borland Software as part
* of a Borland Software product for use ONLY by licensed users of the product,
* includes CONFIDENTIAL and PROPRIETARY information of Borland Software.
*
* USE OF THIS SOFTWARE IS GOVERNED BY THE TERMS AND CONDITIONS
* OF THE LICENSE STATEMENT AND LIMITED WARRANTY FURNISHED WITH
* THE PRODUCT.
*
* IN PARTICULAR, YOU WILL INDEMNIFY AND HOLD BORLAND SOFTWARE, ITS
* RELATED COMPANIES AND ITS SUPPLIERS, HARMLESS FROM AND AGAINST ANY
* CLAIMS OR LIABILITIES ARISING OUT OF THE USE, REPRODUCTION, OR
* DISTRIBUTION OF YOUR PROGRAMS, INCLUDING ANY CLAIMS OR LIABILITIES
* ARISING OUT OF OR RESULTING FROM THE USE, MODIFICATION, OR
* DISTRIBUTION OF PROGRAMS OR FILES CREATED FROM, BASED ON, AND/OR
* DERIVED FROM THIS SOURCE CODE FILE.
*/
//------------------------------------------------------------------------------
// Copyright (c) 1996-2004 Borland Software Corporation. All Rights Reserved.
//------------------------------------------------------------------------------
package com.borland.samples.creditapproval.client;
import com.borland.samples.creditapproval.CORBAInterface.*;
/**
* CallbackThread instantiates a CORBA callback object on the server for
* sending messages back to the client during server processing.
*/
public class CallbackThread extends Thread {
protected ClientCallbackImpl callbackObservable = null;
protected ClientCallback callback = null;
/**
* Return a reference to the callback object
* @return ClientCallback
*/
public ClientCallback getCallback() {
return callback;
}
/**
* Return a reference to the observable object
* @return ClientCallbackImpl
*/
public ClientCallbackImpl getCallbackObservable() {
return callbackObservable;
}
/**
* Construct the CallbackThread Object
*/
public CallbackThread() {
// Create the ClientCallBack servant class
callbackObservable = new ClientCallbackImpl();
}
/**
* Create the callback object and register it with the ORB
*/
public void run() {
try {
// Initialize the ORB
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init((String[])null, null);
// Initialize the POA
org.omg.CORBA.Object obj = orb.resolve_initial_references("RootPOA");
org.omg.PortableServer.POA rootPOA = org.omg.PortableServer.POAHelper.narrow(obj);
org.omg.CORBA.Any any = orb.create_any();
com.inprise.vbroker.PortableServerExt.BindSupportPolicyValueHelper.insert(any, com.inprise.vbroker.PortableServerExt.BindSupportPolicyValue.BY_INSTANCE);
org.omg.CORBA.Policy bsPolicy = orb.create_policy(com.inprise.vbroker.PortableServerExt.BIND_SUPPORT_POLICY_TYPE.value, any);
org.omg.CORBA.Policy[] policies = {
// create a transient server object
// rootPOA.create_lifespan_policy(org.omg.PortableServer.LifespanPolicyValue.PERSISTENT),
bsPolicy,
};
org.omg.PortableServer.POA myPOA = rootPOA.create_POA("callback_thread_poa", rootPOA.the_POAManager(), policies);
// Make an ID for the callback thread
byte [] callbackID = "Callback".getBytes();
// Activate the servant with the ID
myPOA.activate_object_with_id(callbackID, callbackObservable);
// Activate the POA manager
rootPOA.the_POAManager().activate();
callback = ClientCallbackHelper.narrow(myPOA.servant_to_reference(callbackObservable));
}
catch (Exception e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -