2016-09-28 28 views
0

我想提出一个春天4.1.4 REST服务,并部署它到WebSphere Application Server 8在我的本地Windows 7访问的WebSphere 8 shareLib路径FRIM的Spring Java代码

我创建了如下份额lib和放弃其refernce的尊重战争文件 sharedLib configuration

在该位置

我保持我的财产文件/abc/application.properties

loaction of the abc folder in APPSERVER

代码: 我试图加载该文件,如下面的弹簧rest.xml

<bean id="fileSystemResource" class="org.springframework.core.io.FileSystemResource"> 

    <constructor-arg value="#{systemProperties['sharedLib']}/abc/"> 
    </constructor-arg> 
</bean> 
<bean id="propertyLoader" name="propertyLoader"  class="com.framework.RuntimeEnvironmentPropertiesConfigurer"> 

    <property name="propertyLocation" ref="fileSystemResource" /> 
    </bean> 

我propertyloader类:这是工作的罚款:::

public class RuntimeEnvironmentPropertiesConfigurer extends  PropertyPlaceholderConfigurer implements InitializingBean,RuntimeEnvironmentInterface { 



/** The Environment */ 
public String environment; 

/** The Property Location */ 
public FileSystemResource propertyLocation; 

但可悲的是,这是在寻找ABC文件夹我的C:/驱动器

如果我在C:/abc/application.properties中保留以下内容,那么我的应用程序属性被抓取。并且应用程序正常运行因此加载Bean时没有问题。

也给我的依赖在pom.xml,不知道如果我需要添加任何其他依赖项。

<properties> 
<springframework.version>4.1.4.RELEASE</springframework.version> 
<jackson.library>2.7.5</jackson.library> 
</properties> 
<dependencies> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-core</artifactId> 
    <version>4.1.4.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-web</artifactId> 
    <version>4.1.4.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-webmvc</artifactId> 
    <version>4.1.4.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-jdbc</artifactId> 
    <version>3.0.0.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.springframework</groupId> 
    <artifactId>spring-tx</artifactId> 
    <version>3.0.0.RELEASE</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>javax.servlet</groupId> 
    <artifactId>javax.servlet-api</artifactId> 
    <version>3.1.0</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>com.fasterxml.jackson.core</groupId> 
    <artifactId>jackson-databind</artifactId> 
    <version>2.7.5</version> 
    <scope>compile</scope> 
</dependency> 
<dependency> 
    <groupId>org.xerial</groupId> 
    <artifactId>sqlite-jdbc</artifactId> 
    <version>3.8.11.2</version> 
    <scope>runtime</scope> 
</dependency> 
<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.9</version> 
    <scope>compile</scope> 
    <exclusions> 
    <exclusion> 
     <artifactId>mail</artifactId> 
     <groupId>javax.mail</groupId> 
    </exclusion> 
    <exclusion> 
     <artifactId>jms</artifactId> 
     <groupId>javax.jms</groupId> 
    </exclusion> 
    <exclusion> 
     <artifactId>jmxtools</artifactId> 
     <groupId>com.sun.jdmk</groupId> 
    </exclusion> 
    <exclusion> 
     <artifactId>jmxri</artifactId> 
     <groupId>com.sun.jmx</groupId> 
    </exclusion> 
    </exclusions> 
</dependency> 

但我需要获取从共享库位置的路径。 任何人都可以帮我指出我失踪的东西吗? 请提供答案我如何在春季实现这一点。

+0

'sharedLib'是JVM自定义属性?你有你的Spring xml配置中创建的'RuntimeEnvironmentPropertiesConfigurer'类的实例吗? – dbreaux

+0

@dbreaux“sharedLib”是我在WAS环境变量中创建的共享库的名称,它包含我保留属性File的路径。是的,我有一个在我的Spring xml中创建的RuntimeEnvironmentPropertiesConfigurer类的实例...我想从sharedLib加载路径。 – juneSakura

+0

编辑的spring-rest.xml代码片段..plz参考:) @dbreaux – juneSakura

回答

0

在WebSphere Java系统属性来自Application Server的Process Definition>Java Virtual Machine>Custom Properties,而不是从WebSphere variables

+0

@dbresux是的,谢谢..这正是我错过的点。与sharedlib和jvm属性混淆...添加了自定义属性和它像魔术一样工作。 – juneSakura