📄 stockpickerclient.java
字号:
/*
* RECURSION PROPRIETARY-NOT TO BE DISCLOSED OUTSIDE RECURSION, INC.
*/
/**
* Created by twheeler on Mar 9, 2007 at 11:51:03 AM
*/
package examples.yellowpages;
import com.recursionsw.ve.StartupException;
import com.recursionsw.ve.Voyager;
import com.recursionsw.ve.yp.IYellowPages;
import com.recursionsw.ve.yp.ServiceResolutionException;
import com.recursionsw.ve.yp.YellowPages;
import com.recursionsw.ve.yp.YellowPagesAttributes;
import com.recursionsw.ve.yp.YellowPagesException;
import com.recursionsw.ve.yp.discovery.DiscoveryRequest;
import com.recursionsw.ve.yp.discovery.DiscoveryRequestExpression;
import com.recursionsw.ve.yp.discovery.ExpressionFactory;
import com.recursionsw.ve.yp.registry.ServiceDescription;
/**
*
*
* @author twheeler
*/
public class StockPickerClient
{
public static void main(String[] args)
{
String exchangeBrokerUrl = "8000";
if(args.length > 0)
exchangeBrokerUrl = args[0];
try
{
Voyager.startup();
// Create a new discovery request to find services
DiscoveryRequest discoveryRequest = new DiscoveryRequest();
// Create a request expression and look for a service
// named "StockRecommendationService"
DiscoveryRequestExpression expr = new DiscoveryRequestExpression();
expr.add(ExpressionFactory.eq(YellowPagesAttributes.ATTRIBUTE_SERVICENAME, "StockRecommendationService"));
// We can optionally set the maximum number of matches...
discoveryRequest.setMaxMatches(2);
// Set the request expression
discoveryRequest.setRequestExpression(expr);
// Get the default Yellow Pages instance for the exchange broker
IYellowPages yp = YellowPages.getInstance(exchangeBrokerUrl);
// Perform the request
ServiceDescription[] serviceDescriptions = yp.lookup(discoveryRequest);
System.out.println("Found " + serviceDescriptions.length + " services");
// Resolve the services
IStockRecommendationService[] services = new IStockRecommendationService[serviceDescriptions.length];
for(int i = 0; i < serviceDescriptions.length; i++)
services[i] = (IStockRecommendationService) serviceDescriptions[i].resolveService();
// Get some recommendations!
pickStocks(services);
}
catch (StartupException e)
{
System.out.println("Exception starting Voyager Edge: " + e.getMessage());
System.exit(1);
}
catch (ServiceResolutionException e)
{
System.out.println("Service resolution exception: " + e.getMessage());
System.exit(1);
}
catch (YellowPagesException e)
{
System.out.println("Yellow Pages exception: " + e.getMessage());
System.exit(1);
}
System.exit(0);
}
private static void pickStocks(IStockRecommendationService[] services)
{
String[] exchanges = { "NASDAQ", "NYSE" };
String[][] tickers = {{ "ABC", "DEF", "GHI" }, { "JKL", "MNO", "PQR" }};
String[] recos = { "BUY LONG", "BUY SHORT", "NO TRADE" };
for(int i = 0; i < exchanges.length; i++)
{
for(int j = 0; j < tickers[0].length; j++)
{
for(int k = 0; k < services.length; k++)
{
String rec = recos[services[k].getRecommendation(tickers[i][j], exchanges[i])];
System.out.println("Reco #" + k + " for " + exchanges[i] + ":" + tickers[i][j] + " is " + rec);
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -