You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jm...@apache.org on 2007/02/21 05:43:22 UTC
svn commit: r509891 - in /incubator/tuscany/java/sca/runtime/standalone:
assembly/src/main/assembly/profiles/launcher/system.scdl
standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
Author: jmarino
Date: Tue Feb 20 20:43:21 2007
New Revision: 509891
URL: http://svn.apache.org/viewvc?view=rev&rev=509891
Log:
add support for JDK logging and formatting to standalone
Modified:
incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl
incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
Modified: incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl?view=diff&rev=509891&r1=509890&r2=509891
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl (original)
+++ incubator/tuscany/java/sca/runtime/standalone/assembly/src/main/assembly/profiles/launcher/system.scdl Tue Feb 20 20:43:21 2007
@@ -174,4 +174,21 @@
<system:implementation.system class="org.apache.tuscany.runtime.standalone.host.implementation.launched.LaunchedComponentBuilder"/>
</component>
+ <component name="wiringExceptionFormatter">
+ <system:implementation.system class="org.apache.tuscany.core.builder.WiringExceptionFormatter"/>
+ </component>
+
+ <component name="wiringExceptionFormatter">
+ <system:implementation.system class="org.apache.tuscany.core.builder.WiringExceptionFormatter"/>
+ </component>
+
+ <component name="loaderExceptionFormatter">
+ <system:implementation.system class="org.apache.tuscany.core.loader.LoaderExceptionFormatter"/>
+ </component>
+
+ <component name="incompatibleServiceContractExceptionFormatter">
+ <system:implementation.system class="org.apache.tuscany.core.wire.IncompatibleServiceContractExceptionFormatter"/>
+ </component>
+
+
</composite>
Modified: incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java?view=diff&rev=509891&r1=509890&r2=509891
==============================================================================
--- incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java (original)
+++ incubator/tuscany/java/sca/runtime/standalone/standalone-host/src/main/java/org/apache/tuscany/runtime/standalone/host/StandaloneRuntimeImpl.java Tue Feb 20 20:43:21 2007
@@ -24,10 +24,6 @@
import java.util.Collection;
import java.util.Map;
-import org.apache.tuscany.core.runtime.AbstractRuntime;
-import org.apache.tuscany.runtime.standalone.StandaloneRuntime;
-import org.apache.tuscany.runtime.standalone.StandaloneRuntimeInfo;
-import org.apache.tuscany.runtime.standalone.host.implementation.launched.Launched;
import org.apache.tuscany.spi.component.Component;
import org.apache.tuscany.spi.component.TargetInvokerCreationException;
import org.apache.tuscany.spi.implementation.java.JavaMappedService;
@@ -39,56 +35,74 @@
import org.apache.tuscany.spi.model.Operation;
import org.apache.tuscany.spi.wire.TargetInvoker;
+import org.apache.tuscany.core.monitor.JavaLoggingMonitorFactory;
+import org.apache.tuscany.core.runtime.AbstractRuntime;
+import org.apache.tuscany.runtime.standalone.StandaloneRuntime;
+import org.apache.tuscany.runtime.standalone.StandaloneRuntimeInfo;
+import org.apache.tuscany.runtime.standalone.host.implementation.launched.Launched;
+import org.apache.tuscany.api.annotation.LogLevel;
+
/**
* @version $Rev$ $Date$
*/
public class StandaloneRuntimeImpl extends AbstractRuntime<StandaloneRuntimeInfo> implements StandaloneRuntime {
+ JavaLoggingMonitorFactory monitorFactory;
+ StandaloneMonitor monitor;
public StandaloneRuntimeImpl() {
super(StandaloneRuntimeInfo.class);
+ monitorFactory = new JavaLoggingMonitorFactory();
+ setMonitorFactory(monitorFactory);
+ monitor = monitorFactory.getMonitor(StandaloneMonitor.class);
}
/**
* Deploys the specified application SCDL and runs the lauched component within the deployed composite.
- *
- * @param applicationScdl Application SCDL that implements the composite.
+ *
+ * @param applicationScdl Application SCDL that implements the composite.
* @param applicationClassLoader Classloader used to deploy the composite.
- * @param args Arguments to be passed to the lauched component.
+ * @param args Arguments to be passed to the lauched component.
* @deprecated This is a hack for deployment and should be removed.
*/
public int deployAndRun(URL applicationScdl, ClassLoader applicationClassLoader, String[] args) throws Exception {
-
+
URI compositeUri = new URI("/test/composite/");
-
+
CompositeImplementation impl = new CompositeImplementation();
impl.setScdlLocation(applicationScdl);
impl.setClassLoader(applicationClassLoader);
ComponentDefinition<CompositeImplementation> definition =
new ComponentDefinition<CompositeImplementation>(compositeUri, impl);
- Collection<Component> components = getDeployer().deploy(null, definition);
- for (Component component : components) {
- component.start();
+ try {
+ Collection<Component> components = getDeployer().deploy(null, definition);
+ for (Component component : components) {
+ component.start();
+ }
+ return run(impl, args, compositeUri);
+ } catch (Exception e) {
+ monitor.runError(e);
}
+ return -1;
- return run(impl, args, compositeUri);
}
private int run(CompositeImplementation impl, String[] args, URI compositeUri) throws Exception {
- CompositeComponentType<?,?,?> componentType = impl.getComponentType();
+ CompositeComponentType<?, ?, ?> componentType = impl.getComponentType();
Map<String, ComponentDefinition<? extends Implementation<?>>> components = componentType.getComponents();
for (Map.Entry<String, ComponentDefinition<? extends Implementation<?>>> entry : components.entrySet()) {
String name = entry.getKey();
ComponentDefinition<? extends Implementation<?>> launchedDefinition = entry.getValue();
Implementation implementation = launchedDefinition.getImplementation();
- if(implementation.getClass().isAssignableFrom(Launched.class)) {
+ if (implementation.getClass().isAssignableFrom(Launched.class)) {
return run(compositeUri.resolve(name), implementation, args);
}
}
return -1;
}
- private int run(URI componentUri, Implementation implementation, String[] args) throws TargetInvokerCreationException, InvocationTargetException {
+ private int run(URI componentUri, Implementation implementation, String[] args)
+ throws TargetInvokerCreationException, InvocationTargetException {
Launched launched = (Launched) implementation;
PojoComponentType launchedType = launched.getComponentType();
Map services = launchedType.getServices();
@@ -102,5 +116,10 @@
} catch (ClassCastException e) {
return 0;
}
+ }
+
+ public interface StandaloneMonitor {
+ @LogLevel("SEVERE")
+ void runError(Exception e);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org