Repository: karaf Updated Branches: refs/heads/karaf-2.x f797b5d98 -> df7be7624
[KARAF-2848] Add MSSQL datasource support Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/beb241ee Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/beb241ee Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/beb241ee Branch: refs/heads/karaf-2.x Commit: beb241ee11be8a976b9fde871b0706829e0b5906 Parents: 10208c4 Author: Jean-Baptiste Onofré <[email protected]> Authored: Tue Apr 8 07:56:01 2014 +0200 Committer: Jean-Baptiste Onofré <[email protected]> Committed: Tue Apr 8 07:56:01 2014 +0200 ---------------------------------------------------------------------- .../karaf/jdbc/command/CreateCommand.java | 2 +- .../java/org/apache/karaf/jdbc/JdbcMBean.java | 2 +- .../karaf/jdbc/internal/JdbcServiceImpl.java | 1 + .../karaf/jdbc/internal/datasource-mssql.xml | 32 ++++++++++++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/beb241ee/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java ---------------------------------------------------------------------- diff --git a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java index dddb16b..46047ad 100644 --- a/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java +++ b/jdbc/command/src/main/java/org/apache/karaf/jdbc/command/CreateCommand.java @@ -26,7 +26,7 @@ public class CreateCommand extends JdbcCommandSupport { @Argument(index = 0, name = "name", description = "The JDBC datasource name", required = true, multiValued = false) String name; - @Option(name = "-t", aliases = { "--type" }, description = "The JDBC datasource type (generic, MySQL, Oracle, Postgres, H2, HSQL, Derby)", required = false, multiValued = false) + @Option(name = "-t", aliases = { "--type" }, description = "The JDBC datasource type (generic, MySQL, MSSQL, Oracle, Postgres, H2, HSQL, Derby)", required = false, multiValued = false) String type; @Option(name = "-d", aliases = { "--driver" }, description = "The classname of the JDBC driver to use. NB: this option is used only the type generic", required = false, multiValued = false) http://git-wip-us.apache.org/repos/asf/karaf/blob/beb241ee/jdbc/core/src/main/java/org/apache/karaf/jdbc/JdbcMBean.java ---------------------------------------------------------------------- diff --git a/jdbc/core/src/main/java/org/apache/karaf/jdbc/JdbcMBean.java b/jdbc/core/src/main/java/org/apache/karaf/jdbc/JdbcMBean.java index f899874..fd51ebd 100644 --- a/jdbc/core/src/main/java/org/apache/karaf/jdbc/JdbcMBean.java +++ b/jdbc/core/src/main/java/org/apache/karaf/jdbc/JdbcMBean.java @@ -37,7 +37,7 @@ public interface JdbcMBean { * Create a JDBC datasource. * * @param name the JDBC datasource name. - * @param type the JDBC datasource type (generic, MySQL, Oracle, Postgres, H2, HSQL, Derby). + * @param type the JDBC datasource type (generic, MySQL, MSSQL, Oracle, Postgres, H2, HSQL, Derby). * @param driver the JDBC datasource driver class name (can be null). * @param version the target JDBC driver version (can be null). * @param url the JDBC URL. http://git-wip-us.apache.org/repos/asf/karaf/blob/beb241ee/jdbc/core/src/main/java/org/apache/karaf/jdbc/internal/JdbcServiceImpl.java ---------------------------------------------------------------------- diff --git a/jdbc/core/src/main/java/org/apache/karaf/jdbc/internal/JdbcServiceImpl.java b/jdbc/core/src/main/java/org/apache/karaf/jdbc/internal/JdbcServiceImpl.java index 8790597..a45a59c 100644 --- a/jdbc/core/src/main/java/org/apache/karaf/jdbc/internal/JdbcServiceImpl.java +++ b/jdbc/core/src/main/java/org/apache/karaf/jdbc/internal/JdbcServiceImpl.java @@ -39,6 +39,7 @@ public class JdbcServiceImpl implements JdbcService { H2("mvn:com.h2database/h2/", "1.3.163", "datasource-h2.xml"), HSQL("mvn:org.hsqldb/hsqldb/", "2.3.2", "datasource-hsql.xml"), MYSQL("mvn:mysql/mysql-connector-java/", "5.1.18", "datasource-mysql.xml"), + MSSQL("wrap:mvn:net.sourceforge.jtds/jtds/", "1.2.4", "datasource-mssql.xml"), ORACLE("wrap:mvn:ojdbc/ojdbc/", "11.2.0.2.0", "datasource-oracle.xml"), POSTGRES("wrap:mvn:postgresql/postgresql/", "9.1-901.jdbc4", "datasource-postgres.xml"); http://git-wip-us.apache.org/repos/asf/karaf/blob/beb241ee/jdbc/core/src/main/resources/org/apache/karaf/jdbc/internal/datasource-mssql.xml ---------------------------------------------------------------------- diff --git a/jdbc/core/src/main/resources/org/apache/karaf/jdbc/internal/datasource-mssql.xml b/jdbc/core/src/main/resources/org/apache/karaf/jdbc/internal/datasource-mssql.xml new file mode 100644 index 0000000..c62285d --- /dev/null +++ b/jdbc/core/src/main/resources/org/apache/karaf/jdbc/internal/datasource-mssql.xml @@ -0,0 +1,32 @@ +<?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. + --> +<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> + + <bean id="dataSource" class="net.sourceforge.jtds.jdbcx.JtdsDataSource"> + <property name="serverName" value="${url}"/> + <property name="databaseName" value="${name}"/> + <property name="user" value="${user}"/> + <property name="password" value="${password}"/> + </bean> + + <service interface="javax.sql.DataSource" ref="dataSource"> + <service-properties> + <entry key="osgi.jndi.service.name" value="jdbc/${name}"/> + </service-properties> + </service> +</blueprint> \ No newline at end of file
