You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by gn...@apache.org on 2008/10/23 19:47:26 UTC
svn commit: r707425 - in /servicemix/smx4/kernel/trunk/gshell/gshell-core:
./ src/main/java/org/apache/servicemix/kernel/gshell/core/
src/main/java/org/apache/servicemix/kernel/gshell/core/remote/
src/main/resources/META-INF/spring/ src/test/java/org/a...
Author: gnodet
Date: Thu Oct 23 10:47:25 2008
New Revision: 707425
URL: http://svn.apache.org/viewvc?rev=707425&view=rev
Log:
Support for remote shell
Added:
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/KeystoreSSLContextFactory.java
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/RshServerFactory.java
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/core/
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/core/gshell-test.xml
Modified:
servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-osgi.xml
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-remote.xml
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell.xml
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml Thu Oct 23 10:47:25 2008
@@ -89,6 +89,11 @@
<version>${gshell.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.geronimo.gshell.commands</groupId>
+ <artifactId>gshell-remote</artifactId>
+ <version>${gshell.version}</version>
+ </dependency>
+ <dependency>
<groupId>org.apache.geronimo.gshell.wisdom</groupId>
<artifactId>gshell-wisdom-core</artifactId>
<version>${gshell.version}</version>
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java Thu Oct 23 10:47:25 2008
@@ -55,6 +55,14 @@
private boolean createLocalShell = true;
+ public boolean isCreateLocalShell() {
+ return createLocalShell;
+ }
+
+ public void setCreateLocalShell(boolean createLocalShell) {
+ this.createLocalShell = createLocalShell;
+ }
+
@PostConstruct
public void init() throws Exception {
if (!SystemOutputHijacker.isInstalled()) {
@@ -93,7 +101,7 @@
}
public Shell create() throws Exception {
- final Shell shell = (Shell) getBean(Shell.class);
+ final Shell shell = (Shell) applicationContext.getBean("shell");
log.debug("Created shell instance: {}", shell);
@@ -144,30 +152,4 @@
return proxy;
}
- public <T> T getBean(Class<T> type) {
- assert type != null;
-
- log.trace("Getting bean of type: {}", type);
-
- String[] names = applicationContext.getBeanNamesForType(type);
-
- if (names.length == 0) {
- throw new NoSuchBeanDefinitionException(type, "No bean defined for type: " + type);
- }
- if (names.length > 1) {
- throw new NoSuchBeanDefinitionException(type, "No unique bean defined for type: " + type + ", found matches: " + Arrays.asList(names));
- }
-
- return getBean(names[0], type);
- }
-
- public <T> T getBean(String name, Class<T> requiredType) {
- assert name != null;
- assert requiredType != null;
-
- log.trace("Getting bean named '{}' of type: {}", name, requiredType);
-
- return (T) applicationContext.getBean(name, requiredType);
- }
-
}
Added: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/KeystoreSSLContextFactory.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/KeystoreSSLContextFactory.java?rev=707425&view=auto
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/KeystoreSSLContextFactory.java (added)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/KeystoreSSLContextFactory.java Thu Oct 23 10:47:25 2008
@@ -0,0 +1,140 @@
+package org.apache.servicemix.kernel.gshell.core.remote;
+
+import java.security.GeneralSecurityException;
+
+import javax.net.ssl.SSLContext;
+
+import org.apache.geronimo.gshell.whisper.ssl.SSLContextFactory;
+import org.apache.servicemix.kernel.jaas.config.KeystoreManager;
+
+public class KeystoreSSLContextFactory implements SSLContextFactory {
+
+ private KeystoreManager keystoreManager;
+ private String clientProvider;
+ private String clientProtocol = "TLS";
+ private String clientAlgorithm = "SunX509";
+ private String clientKeystore;
+ private String clientKeyAlias;
+ private String clientTruststore;
+ private String serverProvider;
+ private String serverProtocol = "TLS";
+ private String serverAlgorithm = "SunX509";
+ private String serverKeystore;
+ private String serverKeyAlias;
+ private String serverTruststore;
+
+ public KeystoreManager getKeystoreManager() {
+ return keystoreManager;
+ }
+
+ public void setKeystoreManager(KeystoreManager keystoreManager) {
+ this.keystoreManager = keystoreManager;
+ }
+
+ public String getClientProvider() {
+ return clientProvider;
+ }
+
+ public void setClientProvider(String clientProvider) {
+ this.clientProvider = clientProvider;
+ }
+
+ public String getClientProtocol() {
+ return clientProtocol;
+ }
+
+ public void setClientProtocol(String clientProtocol) {
+ this.clientProtocol = clientProtocol;
+ }
+
+ public String getClientAlgorithm() {
+ return clientAlgorithm;
+ }
+
+ public void setClientAlgorithm(String clientAlgorithm) {
+ this.clientAlgorithm = clientAlgorithm;
+ }
+
+ public String getClientKeystore() {
+ return clientKeystore;
+ }
+
+ public void setClientKeystore(String clientKeystore) {
+ this.clientKeystore = clientKeystore;
+ }
+
+ public String getClientKeyAlias() {
+ return clientKeyAlias;
+ }
+
+ public void setClientKeyAlias(String clientKeyAlias) {
+ this.clientKeyAlias = clientKeyAlias;
+ }
+
+ public String getClientTruststore() {
+ return clientTruststore;
+ }
+
+ public void setClientTruststore(String clientTruststore) {
+ this.clientTruststore = clientTruststore;
+ }
+
+ public String getServerProvider() {
+ return serverProvider;
+ }
+
+ public void setServerProvider(String serverProvider) {
+ this.serverProvider = serverProvider;
+ }
+
+ public String getServerProtocol() {
+ return serverProtocol;
+ }
+
+ public void setServerProtocol(String serverProtocol) {
+ this.serverProtocol = serverProtocol;
+ }
+
+ public String getServerAlgorithm() {
+ return serverAlgorithm;
+ }
+
+ public void setServerAlgorithm(String serverAlgorithm) {
+ this.serverAlgorithm = serverAlgorithm;
+ }
+
+ public String getServerKeystore() {
+ return serverKeystore;
+ }
+
+ public void setServerKeystore(String serverKeystore) {
+ this.serverKeystore = serverKeystore;
+ }
+
+ public String getServerKeyAlias() {
+ return serverKeyAlias;
+ }
+
+ public void setServerKeyAlias(String serverKeyAlias) {
+ this.serverKeyAlias = serverKeyAlias;
+ }
+
+ public String getServerTruststore() {
+ return serverTruststore;
+ }
+
+ public void setServerTruststore(String serverTruststore) {
+ this.serverTruststore = serverTruststore;
+ }
+
+ public SSLContext createClientContext() throws GeneralSecurityException {
+ return keystoreManager.createSSLContext(clientProvider, clientProtocol, clientAlgorithm,
+ clientKeystore, clientKeyAlias, clientTruststore);
+ }
+
+ public SSLContext createServerContext() throws GeneralSecurityException {
+ return keystoreManager.createSSLContext(serverProvider, serverProtocol, serverAlgorithm,
+ serverKeystore, serverKeyAlias, serverTruststore);
+ }
+
+}
Added: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/RshServerFactory.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/RshServerFactory.java?rev=707425&view=auto
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/RshServerFactory.java (added)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/remote/RshServerFactory.java Thu Oct 23 10:47:25 2008
@@ -0,0 +1,55 @@
+package org.apache.servicemix.kernel.gshell.core.remote;
+
+import java.net.URI;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.apache.geronimo.gshell.remote.server.RshServer;
+
+public class RshServerFactory {
+
+ @Autowired
+ private RshServer server;
+
+ private String location;
+
+ private boolean start;
+
+ public String getLocation() {
+ return location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ public boolean isStart() {
+ return start;
+ }
+
+ public void setStart(boolean start) {
+ this.start = start;
+ }
+
+ @PostConstruct
+ public void start() throws Exception {
+ if (start) {
+ try {
+ server.bind(URI.create(location));
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw e;
+ }
+ }
+ }
+
+ @PreDestroy
+ public void stop() throws Exception {
+ if (start) {
+ server.close();
+ }
+ }
+
+}
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml Thu Oct 23 10:47:25 2008
@@ -112,6 +112,18 @@
</gshell:command>
</gshell:command-bundle>
+ <gshell:command-bundle>
+ <gshell:command name="remote/rsh">
+ <gshell:action class="org.apache.geronimo.gshell.commands.remote.RshAction"/>
+ </gshell:command>
+
+ <gshell:command name="remote/rsh-server">
+ <gshell:action class="org.apache.geronimo.gshell.commands.remote.RshServerAction"/>
+ </gshell:command>
+
+ <gshell:link name="remote/rshd" target="remote/rsh-server"/>
+ </gshell:command-bundle>
+
<!--
<bean id="clear" class="org.apache.geronimo.gshell.commands.builtins.ClearCommand">
<constructor-arg ref="terminal" />
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-osgi.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-osgi.xml?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-osgi.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-osgi.xml Thu Oct 23 10:47:25 2008
@@ -41,6 +41,7 @@
<!--
<osgi:service ref="commandExecutor" interface="org.apache.geronimo.gshell.command.CommandExecutor">
</osgi:service>
+ -->
<osgix:property-placeholder persistent-id="org.apache.servicemix.shell">
<osgix:default-properties>
@@ -55,6 +56,5 @@
<prop key="serverTruststore">RshTruststore</prop>
</osgix:default-properties>
</osgix:property-placeholder>
- -->
</beans>
\ No newline at end of file
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-remote.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-remote.xml?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-remote.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-remote.xml Thu Oct 23 10:47:25 2008
@@ -32,6 +32,100 @@
http://servicemix.apache.org/jaas
http://servicemix.apache.org/schema/servicemix-jaas.xsd">
+ <bean id="timeoutManager" class="org.apache.geronimo.gshell.remote.server.timeout.TimeoutManagerImpl" lazy-init="true"/>
+
+ <bean id="rshServer" class="org.apache.geronimo.gshell.remote.server.RshServer" scope="prototype">
+ <constructor-arg>
+ <list>
+ <bean class="org.apache.geronimo.gshell.remote.server.handler.ConnectHandler"/>
+ <bean class="org.apache.geronimo.gshell.remote.server.handler.LoginHandler"/>
+ <bean class="org.apache.geronimo.gshell.remote.server.handler.OpenShellHandler"/>
+ <bean class="org.apache.geronimo.gshell.remote.server.handler.ExecuteHandler"/>
+ <bean class="org.apache.geronimo.gshell.remote.server.handler.CloseShellHandler"/>
+ <bean class="org.apache.geronimo.gshell.remote.server.handler.EchoHandler"/>
+ </list>
+ </constructor-arg>
+ </bean>
+
+ <bean id="remoteShell" class="org.apache.geronimo.gshell.remote.server.RemoteShellImpl" scope="prototype"/>
+
+ <bean class="org.apache.geronimo.gshell.remote.client.RshClient" scope="prototype">
+ <constructor-arg>
+ <list>
+ <bean class="org.apache.geronimo.gshell.remote.client.handler.EchoHandler"/>
+ </list>
+ </constructor-arg>
+ </bean>
+
+ <bean id="transportFactoryLocator" class="org.apache.geronimo.gshell.whisper.transport.TransportFactoryLocatorImpl" lazy-init="true">
+ <property name="factories">
+ <set>
+ <ref bean="vmTransportFactory"/>
+ <ref bean="tcpTransportFactory"/>
+ <ref bean="sslTransportFactory"/>
+ </set>
+ </property>
+ </bean>
+
+ <!-- vm:// -->
+
+ <bean id="vmTransportFactory" class="org.apache.geronimo.gshell.whisper.transport.vm.VmTransportFactory" lazy-init="true"/>
+
+ <bean id="vmTransport" class="org.apache.geronimo.gshell.whisper.transport.vm.VmTransport" scope="prototype"/>
+
+ <bean id="vmTransportServer" class="org.apache.geronimo.gshell.whisper.transport.vm.VmTransportServer" scope="prototype"/>
+
+ <!-- tcp:// -->
+
+ <bean id="tcpTransportFactory" class="org.apache.geronimo.gshell.whisper.transport.tcp.TcpTransportFactory" lazy-init="true"/>
+
+ <bean id="tcpTransport" class="org.apache.geronimo.gshell.whisper.transport.tcp.TcpTransport" scope="prototype"/>
+
+ <bean id="tcpTransportServer" class="org.apache.geronimo.gshell.whisper.transport.tcp.TcpTransportServer" scope="prototype"/>
+
+ <!-- ssl:// -->
+
+ <bean id="sslTransportFactory" class="org.apache.geronimo.gshell.whisper.transport.ssl.SslTransportFactory" lazy-init="true"/>
+
+ <bean id="sslContextFactory" class="org.apache.servicemix.kernel.gshell.core.remote.KeystoreSSLContextFactory" lazy-init="true">
+ <property name="keystoreManager" ref="keystoreManager" />
+ <property name="clientKeystore" value="${clientKeystore}" />
+ <property name="clientKeyAlias" value="${clientKeyAlias}" />
+ <property name="clientTruststore" value="${clientTruststore}" />
+ <property name="serverKeystore" value="${serverKeystore}" />
+ <property name="serverKeyAlias" value="${serverKeyAlias}" />
+ <property name="serverTruststore" value="${serverTruststore}" />
+ </bean>
+
+ <bean id="sslTransport" class="org.apache.geronimo.gshell.whisper.transport.ssl.SslTransport" scope="prototype">
+ <property name="sslContextFactory" ref="sslContextFactory"/>
+ </bean>
+
+ <bean id="sslTransportServer" class="org.apache.geronimo.gshell.whisper.transport.ssl.SslTransportServer" scope="prototype">
+ <property name="sslContextFactory" ref="sslContextFactory"/>
+ </bean>
+
+
+ <bean id="rshServerFactory" class="org.apache.servicemix.kernel.gshell.core.remote.RshServerFactory">
+ <property name="location" value="${remoteShellLocation}" />
+ <property name="start" value="${startRemoteShell}" />
+ </bean>
+
+ <osgi:reference id="keystoreManager" interface="org.apache.servicemix.kernel.jaas.config.KeystoreManager" cardinality="1..1" />
+
+ <jaas:config id="RshClient">
+ <jaas:module className="org.apache.geronimo.gshell.remote.client.auth.RemoteLoginModule" flags="required" />
+ </jaas:config>
+
+ <jaas:config id="RshServer" rank="-1">
+ <jaas:module className="org.apache.geronimo.gshell.remote.server.auth.BogusLoginModule" flags="required" />
+ </jaas:config>
+
+ <bean id="cryptoContext" class="org.apache.geronimo.gshell.security.crypto.CryptoContextImpl" lazy-init="true">
+ <property name="transformation" value="RSA"/>
+ <property name="provider" value="default"/>
+ </bean>
+
<!--
<bean id="rshServer" class="org.apache.geronimo.gshell.remote.server.RshServer" destroy-method="close">
<constructor-arg ref="timeoutManager" />
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell.xml?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell.xml Thu Oct 23 10:47:25 2008
@@ -100,6 +100,8 @@
<bean id="metaDataRegistry" class="org.apache.geronimo.gshell.vfs.provider.meta.data.MetaDataRegistryImpl"/>
- <bean id="applicationManager" class="org.apache.servicemix.kernel.gshell.core.ApplicationManagerImpl"/>
+ <bean id="applicationManager" class="org.apache.servicemix.kernel.gshell.core.ApplicationManagerImpl">
+ <property name="createLocalShell" value="${startLocalConsole}" />
+ </bean>
</beans>
\ No newline at end of file
Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java?rev=707425&r1=707424&r2=707425&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java Thu Oct 23 10:47:25 2008
@@ -9,10 +9,14 @@
public class Test extends TestCase {
public void test() throws Exception {
+
+ System.setProperty("startLocalConsole", "true");
+
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "META-INF/spring/gshell.xml",
"META-INF/spring/gshell-vfs.xml",
- "META-INF/spring/gshell-commands.xml" });
+ "META-INF/spring/gshell-commands.xml",
+ "org/apache/servicemix/kernel/gshell/core/gshell-test.xml" });
ApplicationManager appMgr = (ApplicationManager) context.getBean("applicationManager");
assertNotNull(appMgr);
Shell shell = appMgr.create();
Added: servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/core/gshell-test.xml
URL: http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/core/gshell-test.xml?rev=707425&view=auto
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/core/gshell-test.xml (added)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/resources/org/apache/servicemix/kernel/gshell/core/gshell-test.xml Thu Oct 23 10:47:25 2008
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:util="http://www.springframework.org/schema/util"
+ xmlns:gshell="http://servicemix.apache.org/schema/servicemix-gshell"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans.xsd
+ http://www.springframework.org/schema/util
+ http://www.springframework.org/schema/util/spring-util.xsd
+ http://servicemix.apache.org/schema/servicemix-gshell
+ http://servicemix.apache.org/schema/servicemix-gshell/servicemix-gshell.xsd">
+
+ <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" />
+
+</beans>
\ No newline at end of file