Ich habe eine Spring-mvc-Anwendung entwickelt, in der ich einen Eigenschaftswert aus der Eigenschaftendatei im Weblogic-Server lesen möchte.MessageSource Methode getMessage funktioniert nicht im Frühjahr mvc
Haben folgende Schritte durchgeführt:
einen projektspezifischen Ordner appconfig in folgendem Pfad Erstellt: Oracle/Middleware/ORACLE_HOME/user_projects/domains/wl_server/config/rmsConfig
Platziert die Eigenschaften genannt commonConfig.properties in der es einreichen.
bearbeitet hat auch setDomainEnv.cmd
mit folgendem Eintrag,
if NOT "%EXT_POST_CLASSPATH%"=="" (
set EXT_POST_CLASSPATH=%EXT_POST_CLASSPATH%;%DOMAIN_HOME%\config\appConfig
if NOT "%POST_CLASSPATH%"=="" (
set POST_CLASSPATH=%POST_CLASSPATH%;%EXT_POST_CLASSPATH%
) else (
set POST_CLASSPATH=%EXT_POST_CLASSPATH%
)
)
Bitte unten meiner Spring-Bean-Konfigurationsdatei für diese finden:
<?xml version="1.0" encoding="UTF-8"?>
<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:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.3.xsd">
<bean id="commonProps" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="commonConfig" />
<property name="cacheSeconds" value="120" />
</bean>
</beans>
In meiner Java Spring-Bean-Klasse I dies bin beziehen wie folge :
@Component
public class LocationClient{
@Autowired
private MessageSource commonProps;
public void showMessage(){
System.out.println(commonProps.getMessage("common.line", null, null, null));
}
}
Jetzt commonProps
ist nicht null aber "common.line" Drucken null in der Konsole.
Finden Sie Immobilien Dateieintrag:
common.line=382
Wer noch keine geeignete Lösung für dieses Problem hat ???
wird es keine Möglichkeit, die Eigenschaften innerhalb Anwendungsserver-Datei zu setzen? –
innerhalb Anwendungsserver bedeutet, dass Sie die Eigenschaftendatei außerhalb Classpath benötigen? In diesem Fall können Sie mit 'ReloadableResourceBundleMessageSource' einen bestimmten Pfad definieren, unabhängig davon, ob der Pfad außerhalb des Klassenpfads liegt. Auf der anderen Seite erzwingt ResourceBundleMessageSource die Verwendung einer Klassenpfadressource. –