IDEMPIERE-5903 support multiple webservice project (#2084)
* IDEMPIERE-5903:support multi webservice project (issue 1:There is an endpoint already running on/rest) https://stackoverflow.com/a/49553239/4037367 * IDEMPIERE-5903:support multi webservice project (reuse resource) * IDEMPIERE-5903:support multi webservice project (fix comment review)
This commit is contained in:
parent
23b738df5b
commit
d217eb531e
|
@ -25,6 +25,7 @@ FOR %%c in (plugins\org.eclipse.equinox.launcher_1.*.jar) DO set JARFILE=%%c
|
|||
@Set VMOPTS=%VMOPTS% -Djetty.home=jettyhome
|
||||
@Set VMOPTS=%VMOPTS% -Djetty.base=jettyhome
|
||||
@Set VMOPTS=%VMOPTS% -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml
|
||||
@Set VMOPTS=%VMOPTS% -Dorg.apache.cxf.osgi.http.transport.disable=true
|
||||
@Set VMOPTS=%VMOPTS% -Dosgi.console=localhost:12612
|
||||
@Set VMOPTS=%VMOPTS% -Dmail.mime.encodefilename=true
|
||||
@Set VMOPTS=%VMOPTS% -Dmail.mime.decodefilename=true
|
||||
|
|
|
@ -31,6 +31,7 @@ VMOPTS="-Dorg.osgi.framework.bootdelegation=sun.security.ssl
|
|||
-Djetty.home=$BASE/jettyhome
|
||||
-Djetty.base=$BASE/jettyhome
|
||||
-Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml
|
||||
-Dorg.apache.cxf.osgi.http.transport.disable=true
|
||||
-Dosgi.console=$HOST:$TELNET_PORT
|
||||
-Dmail.mime.encodefilename=true
|
||||
-Dmail.mime.decodefilename=true
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<launcherArgs>
|
||||
<programArgs>-console
|
||||
</programArgs>
|
||||
<vmArgs>--add-modules=java.se --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml
|
||||
<vmArgs>--add-modules=java.se --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.apache.cxf.osgi.http.transport.disable=true
|
||||
</vmArgs>
|
||||
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
|
||||
</vmArgsMac>
|
||||
|
|
|
@ -441,6 +441,7 @@
|
|||
<setEntry value="org.idempiere.keikai@default:false"/>
|
||||
<setEntry value="org.idempiere.printformat.editor@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices.resources@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard.chart@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard@default:false"/>
|
||||
<setEntry value="org.idempiere.zk.extra@default:default"/>
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true --add-modules=java.se --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true --add-modules=java.se --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.apache.cxf.osgi.http.transport.disable=true"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.WORKING_DIRECTORY" value="${project_loc:org.adempiere.base}/.."/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="product" value="org.adempiere.server.server_product"/>
|
||||
|
@ -441,6 +441,7 @@
|
|||
<setEntry value="org.idempiere.keikai@default:false"/>
|
||||
<setEntry value="org.idempiere.printformat.editor@default:default"/>
|
||||
<setEntry value="org.idempiere.ui.sso.oidc@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices.resources@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard.chart@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard@default:false"/>
|
||||
|
|
|
@ -24,6 +24,7 @@ jars.extra.classpath = platform:/plugin/org.adempiere.base/,\
|
|||
platform:/plugin/org.idempiere.felix.webconsole/,\
|
||||
platform:/plugin/org.idempiere.hazelcast.service/,\
|
||||
platform:/plugin/org.idempiere.webservices/,\
|
||||
platform:/plugin/org.idempiere.webservices.resources/,\
|
||||
platform:/plugin/org.idempiere.zk.extra/,\
|
||||
platform:/plugin/org.idempiere.keikai,\
|
||||
platform:/plugin/org.idempiere.printformat.editor,\
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?pde version="3.5"?>
|
||||
|
||||
<product name="iDempiere Server" uid="org.adempiere.server.product" id="org.adempiere.server.server_product" application="org.adempiere.server.application" version="11.0.0.qualifier" useFeatures="true" includeLaunchers="true" autoIncludeRequirements="false">
|
||||
<product name="iDempiere Server" uid="org.adempiere.server.product" id="org.adempiere.server.server_product" application="org.adempiere.server.application" version="11.0.0.qualifier" useFeatures="true" includeLaunchers="true">
|
||||
|
||||
<configIni use="default">
|
||||
</configIni>
|
||||
|
@ -9,7 +9,7 @@
|
|||
<launcherArgs>
|
||||
<programArgs>-console
|
||||
</programArgs>
|
||||
<vmArgs>--add-modules=java.se --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml
|
||||
<vmArgs>--add-modules=java.se --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED --add-opens=java.base/sun.nio.ch=ALL-UNNAMED --add-opens=java.management/sun.management=ALL-UNNAMED --add-opens=jdk.management/com.sun.management.internal=ALL-UNNAMED --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED --add-exports=java.desktop/sun.awt=ALL-UNNAMED --add-exports=java.sql.rowset/com.sun.rowset=ALL-UNNAMED --add-exports=java.naming/com.sun.jndi.ldap=ALL-UNNAMED -Declipse.product=org.adempiere.server.product -Dosgi.noShutdown=true -Dosgi.framework.activeThreadType=normal -Dorg.osgi.framework.bootdelegation=sun.security.ssl -Dosgi.compatibility.bootdelegation=true -Djetty.home=jettyhome -Djetty.etc.config.urls=etc/jetty.xml,etc/jetty-deployer.xml,etc/jetty-ssl.xml,etc/jetty-ssl-context.xml,etc/jetty-http.xml,etc/jetty-https.xml,etc/jetty-threadpool.xml,etc/jetty-http-forwarded.xml -Dmail.mime.encodefilename=true -Dmail.mime.decodefilename=true -Dmail.mime.encodeparameters=true -Dmail.mime.decodeparameters=true -Dhazelcast.config=hazelcast.xml -Dorg.apache.cxf.osgi.http.transport.disable=true
|
||||
</vmArgs>
|
||||
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts
|
||||
</vmArgsMac>
|
||||
|
@ -61,15 +61,15 @@
|
|||
<plugin id="org.idempiere.felix.webconsole" autoStart="true" startLevel="0" />
|
||||
<plugin id="org.mortbay.jasper.apache-el" autoStart="true" startLevel="0" />
|
||||
<plugin id="org.mortbay.jasper.apache-jsp" autoStart="true" startLevel="0" />
|
||||
<property name="osgi.instance.area.default" value="@config.dir/../workspace" />
|
||||
<property name="eclipse.product" value="org.adempiere.server.product" />
|
||||
<property name="osgi.checkConfiguration" value="true" />
|
||||
<property name="osgi.console.enable.builtin" value="false" />
|
||||
<property name="osgi.compatibility.bootdelegation" value="true" />
|
||||
<property name="org.eclipse.equinox.simpleconfigurator.exclusiveInstallation" value="false" />
|
||||
<property name="osgi.framework.activeThreadType" value="normal" />
|
||||
<property name="org.eclipse.update.reconcile" value="false" />
|
||||
<property name="osgi.instance.area.default" value="@config.dir/../workspace" />
|
||||
<property name="osgi.checkConfiguration" value="true" />
|
||||
<property name="osgi.noShutdown" value="true" />
|
||||
<property name="org.eclipse.equinox.simpleconfigurator.exclusiveInstallation" value="false" />
|
||||
<property name="osgi.compatibility.bootdelegation" value="true" />
|
||||
<property name="org.eclipse.update.reconcile" value="false" />
|
||||
<property name="eclipse.product" value="org.adempiere.server.product" />
|
||||
<property name="osgi.console.enable.builtin" value="false" />
|
||||
</configurations>
|
||||
|
||||
<preferencesInfo>
|
||||
|
|
|
@ -419,6 +419,7 @@
|
|||
<setEntry value="org.idempiere.hazelcast.service@default:default"/>
|
||||
<setEntry value="org.idempiere.test@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices.resources@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard.chart@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.extra@default:default"/>
|
||||
|
|
|
@ -255,7 +255,7 @@
|
|||
<setEntry value="org.eclipse.equinox.servletbridge@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator.manipulator@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.simpleconfigurator@1:true"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch*3.33.0.v20230218-1114@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core.compiler.batch@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.core@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.junit.runtime@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.junit5.runtime@default:default"/>
|
||||
|
@ -419,6 +419,7 @@
|
|||
<setEntry value="org.idempiere.hazelcast.service@default:default"/>
|
||||
<setEntry value="org.idempiere.test@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices@default:default"/>
|
||||
<setEntry value="org.idempiere.webservices.resources@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard.chart@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.billboard@default:default"/>
|
||||
<setEntry value="org.idempiere.zk.extra@default:default"/>
|
||||
|
|
|
@ -346,4 +346,11 @@
|
|||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
<plugin
|
||||
id="org.idempiere.webservices.resources"
|
||||
download-size="0"
|
||||
install-size="0"
|
||||
version="0.0.0"
|
||||
unpack="false"/>
|
||||
|
||||
</feature>
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>org.idempiere.webservices.resources</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.ManifestBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.pde.SchemaBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.pde.PluginNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,2 @@
|
|||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
|
@ -0,0 +1,4 @@
|
|||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
|
@ -0,0 +1,4 @@
|
|||
eclipse.preferences.version=1
|
||||
pluginProject.equinox=false
|
||||
pluginProject.extensions=false
|
||||
resolve.requirebundle=false
|
|
@ -0,0 +1,25 @@
|
|||
Manifest-Version: 1.0
|
||||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: Web Services Helper Resource Lookup
|
||||
Bundle-SymbolicName: org.idempiere.webservices.resources;singleton:=true
|
||||
Bundle-Version: 11.0.0.qualifier
|
||||
Export-Package: META-INF.cxf,
|
||||
org.idempiere.webservices.resources,
|
||||
schemas,
|
||||
schemas.configuration
|
||||
Import-Package: javax.servlet;version="4.0.0",
|
||||
org.compiere.util,
|
||||
org.eclipse.jetty.osgi.boot;version="10.0.9",
|
||||
org.eclipse.jetty.server.handler;version="10.0.9",
|
||||
org.eclipse.jetty.servlet;version="10.0.9",
|
||||
org.eclipse.jetty.util;version="10.0.9",
|
||||
org.eclipse.jetty.webapp;version="10.0.9",
|
||||
org.osgi.framework;version="1.10.0",
|
||||
org.osgi.framework.wiring;version="1.2.0",
|
||||
org.springframework.web.context;version="5.2.22.RELEASE"
|
||||
Bundle-Vendor: Idempiere
|
||||
Automatic-Module-Name: org.idempiere.webservices.resources
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Bundle-ClassPath: .
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Require-Capability: osgi.ee;filter:="(&(osgi.ee=JavaSE)(version>=17))"
|
|
@ -0,0 +1,4 @@
|
|||
source.. = src/
|
||||
output.. = target/classes/
|
||||
bin.includes = META-INF/,\
|
||||
.
|
|
@ -0,0 +1,13 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<artifactId>org.idempiere.webservices.resources</artifactId>
|
||||
<parent>
|
||||
<groupId>org.idempiere</groupId>
|
||||
<artifactId>org.idempiere.parent</artifactId>
|
||||
<version>${revision}</version>
|
||||
<relativePath>../org.idempiere.parent/pom.xml</relativePath>
|
||||
</parent>
|
||||
<packaging>eclipse-plugin</packaging>
|
||||
<name>Web Services Helper Resource Lookup</name>
|
||||
<description>Bundle to provide resources for cfx and spring"</description>
|
||||
</project>
|
|
@ -0,0 +1,68 @@
|
|||
/******************************************************************************
|
||||
* Copyright (C) 2012 Trek Global *
|
||||
* Product: iDempiere ERP & CRM Smart Business Solution *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms version 2 of the GNU General Public License as published *
|
||||
* by the Free Software Foundation. This program is distributed in the hope *
|
||||
* that it will be useful, but WITHOUT ANY WARRANTY; without even the implied *
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. *
|
||||
* See the GNU General Public License for more details. *
|
||||
* You should have received a copy of the GNU General Public License along *
|
||||
* with this program; if not, write to the Free Software Foundation, Inc., *
|
||||
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. *
|
||||
*****************************************************************************/
|
||||
package org.idempiere.webservices.resources;
|
||||
import javax.servlet.ServletContextEvent;
|
||||
|
||||
import org.compiere.util.CLogger;
|
||||
import org.eclipse.jetty.osgi.boot.OSGiWebappConstants;
|
||||
import org.eclipse.jetty.server.handler.ContextHandler;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.wiring.BundleWiring;
|
||||
|
||||
/**
|
||||
* @author hengsin
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class ContextLoaderListener extends
|
||||
org.springframework.web.context.ContextLoaderListener {
|
||||
|
||||
private static final CLogger log = CLogger.getCLogger(ContextLoaderListener.class);
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ContextLoaderListener() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void contextInitialized(ServletContextEvent event) {
|
||||
Object bundleContextObj = null;
|
||||
if (event.getSource() != null && event.getSource() instanceof ContextHandler.StaticContext) {
|
||||
ContextHandler.StaticContext staticContext = (ContextHandler.StaticContext)event.getSource();
|
||||
bundleContextObj = staticContext.getAttribute(OSGiWebappConstants.OSGI_BUNDLECONTEXT);
|
||||
}
|
||||
|
||||
// get ClassLoader of web app is loading
|
||||
ClassLoader webappBundleCl = null;
|
||||
if (bundleContextObj != null && bundleContextObj instanceof BundleContext) {
|
||||
BundleContext webappBundleContext = (BundleContext)bundleContextObj;
|
||||
webappBundleCl = webappBundleContext.getBundle().adapt(BundleWiring.class).getClassLoader();
|
||||
}
|
||||
|
||||
// set ClassLoader to load schema also
|
||||
if (webappBundleCl != null) {
|
||||
ClassLoader currentCl = Thread.currentThread().getContextClassLoader();
|
||||
try {
|
||||
Thread.currentThread().setContextClassLoader(webappBundleCl);
|
||||
super.contextInitialized(event);
|
||||
} finally {
|
||||
Thread.currentThread().setContextClassLoader(currentCl);
|
||||
}
|
||||
}else {
|
||||
log.warning("can't findout ClassLoader for web service:" + event.getServletContext().getContextPath());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -108,7 +108,8 @@ Require-Bundle: org.adempiere.base;bundle-version="0.0.0",
|
|||
wrapped.org.springframework.spring-web;bundle-version="5.2.15",
|
||||
org.codehaus.jettison.jettison;bundle-version="1.4.1",
|
||||
org.eclipse.osgi,
|
||||
jakarta.annotation-api;bundle-version="1.3.5"
|
||||
jakarta.annotation-api;bundle-version="1.3.5",
|
||||
org.idempiere.webservices.resources;bundle-version="11.0.0"
|
||||
Bundle-ClassPath: .,
|
||||
lib/idempiere-xmlbeans.jar
|
||||
Export-Package: org.idempiere.webservices.model,
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
/**
|
||||
*
|
||||
*/
|
||||
package com.trekglobal.ws;
|
||||
|
||||
import javax.servlet.ServletContextEvent;
|
||||
|
||||
/**
|
||||
* @author hengsin
|
||||
*
|
||||
*/
|
||||
public class ContextLoaderListener extends
|
||||
org.springframework.web.context.ContextLoaderListener {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public ContextLoaderListener() {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void contextInitialized(ServletContextEvent event) {
|
||||
ClassLoader cl = Thread.currentThread().getContextClassLoader();
|
||||
try {
|
||||
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
|
||||
super.contextInitialized(event);
|
||||
} finally {
|
||||
Thread.currentThread().setContextClassLoader(cl);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -6,14 +6,13 @@
|
|||
<context-param>
|
||||
<param-name>contextConfigLocation</param-name>
|
||||
<param-value>
|
||||
classpath:/META-INF/cxf/services.xml
|
||||
classpath:/META-INF/cxf/rest-context.xml
|
||||
classpath:/org/idempiere/webservices/xml/services.xml
|
||||
classpath:/org/idempiere/webservices/xml/rest-context.xml
|
||||
</param-value>
|
||||
</context-param>
|
||||
|
||||
<listener>
|
||||
<listener-class>
|
||||
com.trekglobal.ws.ContextLoaderListener
|
||||
org.idempiere.webservices.resources.ContextLoaderListener
|
||||
</listener-class>
|
||||
</listener>
|
||||
|
||||
|
|
1
pom.xml
1
pom.xml
|
@ -34,6 +34,7 @@
|
|||
<module>org.idempiere.felix.webconsole</module>
|
||||
<module>org.idempiere.hazelcast.service</module>
|
||||
<module>org.idempiere.webservices</module>
|
||||
<module>org.idempiere.webservices.resources</module>
|
||||
<module>org.idempiere.webservices-feature</module>
|
||||
<module>org.idempiere.zk.extra</module>
|
||||
<module>org.idempiere.keikai</module>
|
||||
|
|
Loading…
Reference in New Issue