execJava Examples
Example 3–3 execJava in Java Code
public class StopServerFactory extends WLFactoryBase {
public static final String TARGET = "serverName";
public Executor
getActualExecutor(AgentContext inAgentContext, ActualExecJavaContext inContext)
{
VariableSettingsSource variableSettings = inContext.getVariableSettings();
String target = variableSettings.getVarValue(TARGET);
return new StopServerExecutor(getConnect(variableSettings), target);
}
public VariableSettingsSource getParams() {
VariableSettingsHolder list = getWLParams();
list.setVarValue(TARGET, null);
return list;
}
}
public class StopServerExecutor implements Executor {
private WLConnect mConnect;
private String mTarget;
/**
*
**/
public StopServerExecutor(WLConnect connect, String target) {
mConnect = connect;
mTarget = target;
}
/**
*
**/
public void execute() throws ExecutionException {
try {
WLAdminServer server = new WLAdminServer(mConnect);
server.stopServer(server.getServer(mTarget));
}
catch (Exception e) {
throw new ExecutionException
(new PluginMessage(WLPluginHierarchyException.MSG_WEBLOGIC_ERROR), e);
}
}
}
Example 3–4 Another execJava Code Sample
public class SampleExecutorFactory implements ExecutorFactory
{
public Executor getActualExecutor(AgentContext inAgentContext,
ActualExecJavaContext inActualExecJavaContext)
{
return new EnvParamSettingActualExecutor(inActualExecJavaContext);
}
public Executor getPreflightExecutor(AgentContext inAgentContext,
PreflightExecJavaContext inPreflightExecJavaContext)
{
return new EnvParamSettingPreflightExecutor(inPreflightExecJavaContext);
}
public VariableSettingsSource getParams()
{
VariableSettingsHolder params = new VariableSettingsHolder();
params.setVarValue(PARAM_NAME, "");
params.setVarValue(PARAM_VALUE, "");
return params;
}
public static final String PARAM_NAME = "nameParam";
public static final String PARAM_VALUE = "valueParam";
}
public class EnvParamSettingPreflightExecutor implements Executor
{
VariableSettingsSource mVars;
public EnvParamSettingPreflightExecutor
(PreflightExecJavaContext inPreflightExecJavaContext)
{
mVars = inPreflightExecJavaContext.getVariableSettings();
}
public void execute() throws ExecutionException
{
String propName = mVars.getVarValue(SampleExecutorFactory.PARAM_NAME);
if("".equals(propName)) {
throw new ExecutionException(new PluginMessage("sample.noNameParam"));
}
String propValue=System.getProperty(propName);
if(!(propValue == null || "".equals(propValue))) {
// property already set, error out
throw new ExecutionException(new PluginMessage("sample.propAlreadySet",
new String[]{propName, propValue}));
}
}
}
public class EnvParamSettingActualExecutor implements Executor
{
VariableSettingsSource mVars;
public EnvParamSettingActualExecutor(ActualExecJavaContext inCtx)
{
mVars = inCtx.getVariableSettings();
}
public void execute() throws ExecutionException
{
String propName = mVars.getVarValue(SampleExecutorFactory.PARAM_NAME);
String propValue = mVars.getVarValue(SampleExecutorFactory.PARAM_VALUE);
System.setProperty(propName, propValue);
if(Logger.isDebugEnabled(this)) {
Logger.debug("Setting prop "+propName + " to " + propValue, this);
}
System.out.println("Setting prop "+propName + " to " + propValue);
}
}