Bloomberg 开放 API,客户端服务器架构,应用程序,兼容性,Tomcat。
代码示例:
import com.bloomberglp.blpapi.Session; import com.bloomberglp.blpapi.SessionOptions; import com.bloomberglp.blpapi.CorrelationID; import com.bloomberglp.blpapi.Element; import com.bloomberglp.blpapi.EventHandler; import com.bloomberglp.blpapi.Event; import com.bloomberglp.blpapi.Identity; import com.bloomberglp.blpapi.InvalidRequestException; import com.bloomberglp.blpapi.Request; import com.bloomberglp.blpapi.Service; import com.bloomberglp.blpapi.SessionOptions.ServerAddress; import com.bloomberglp.blpapi.SessionOptions.ServerHost; import com.bloomberglp.blpapi.SessionOptions.ServerPort; import com.bloomberglp.blpapi.SessionOptions.TlsOptions;
public class MyEventHandler implements EventHandler { private Session d_session;
public MyEventHandler(Session session) {
d_session = session;
}
public void processEvent(Event event, Session session) {
System.out.println("processing event");
try {
switch (event.eventType().intValue()) {
case Event.EventType.Constants.REQUEST:
processRequest(event);
break;
case Event.EventType.Constants.RESPONSE:
System.out.println("processing response");
break;
default:
System.out.println("processing default event type");
break;
}
} catch (Exception e) {
e.printStackTrace();
}
}
private void processRequest(Event event) throws InvalidRequestException {
Request request = d_session.createRequest("ReferenceDataRequest");
Element securities = request.getElement("securities");
securities.appendValue("AAPL US Equity");
Element fields = request.getElement("fields");
fields.appendValue("PX_LAST");
d_session.sendRequest(request, new CorrelationID(this));
}
}
public class Main { public static void main(String[] args) throws Exception { SessionOptions sessionOptions = new SessionOptions(); sessionOptions.setServerHost("localhost"); sessionOptions.setServerPort(8194); sessionOptions.setTlsOptions(TlsOptions.DisableValidation);
Session session = new Session(sessionOptions);
session.start();
session.openService("//blp/refdata");
Identity identity = session.createIdentity();
MyEventHandler eventHandler = new MyEventHandler(session);
session.subscribe(new String[] { "AAPL US Equity" }, new String[] { "PX_LAST" }, identity, event