Hallo,
ich bin ein EJB-Neuling, habe mich schon etwas an programmieren gemacht, einiges läuft auch, aber nun habe ich ein Problem.
Wie geht man mit Konstanten in EJB um?
Da es ja verboten ist auf statische Variablen zuzugreifen, passt das nicht in mein Weltbild
Nein mal im Erstn, wie geht das?
Ich war gewohnt Konstanten als static member einzubinden.
Im Speziellen interessiert mich, wie ich Properties aus einer xml-Datei in meinen EJB-Klassen nutzen kann.
Bisher habe ich es so gemacht ...
Es gibt eine Konstantendatei ('Constants'). Diese liest initial das Propertyfile aus und stellt die benötigten Werte allen anderen Klassen zur Verfügung.
Sagen wir mal die sieht so (oder so ähnlich aus):
Und diese Klasse nutzt nun die Konstante
Unglücklicherweise ist es EJBs aber verboten statische Dinge zu verwenden.
Mir leuchtet zwar ein wieso, aber ich weiß nicht, wie ich dann meine Konstanten nutzen kann ... ?
Und jedesmal, wenn ein EJB zum Leben erweckt wird, die XML-Datei erneut auszulesen wäre schon ziemlicher Schwachsinn.
Aber wie ist hier der Königsweg?
Wie machen das andere EJB-Programmieren?
Oder wo gibt es was zu lesen über EJB best practices ?
Danke für die Hilfe
ich bin ein EJB-Neuling, habe mich schon etwas an programmieren gemacht, einiges läuft auch, aber nun habe ich ein Problem.
Wie geht man mit Konstanten in EJB um?
Da es ja verboten ist auf statische Variablen zuzugreifen, passt das nicht in mein Weltbild
Nein mal im Erstn, wie geht das?
Ich war gewohnt Konstanten als static member einzubinden.
Im Speziellen interessiert mich, wie ich Properties aus einer xml-Datei in meinen EJB-Klassen nutzen kann.
Bisher habe ich es so gemacht ...
Es gibt eine Konstantendatei ('Constants'). Diese liest initial das Propertyfile aus und stellt die benötigten Werte allen anderen Klassen zur Verfügung.
Sagen wir mal die sieht so (oder so ähnlich aus):
Code:
public class Props
public static String FOO = null;
static
{
Properties props = new Properties();
try
{
props.loadFromXML(CConstants.class.getClass().getClassLoader().getResourceAsStream("propertyFile.xml"));
FOO = props.getProperty("FOO");
}
catch(Exception e){...}
}
}
Und diese Klasse nutzt nun die Konstante
Code:
public class MyClass
{
...
public void doSomething()
{
...
String s = Props.FOO + " BAR";
...
}
...
}
Unglücklicherweise ist es EJBs aber verboten statische Dinge zu verwenden.
Mir leuchtet zwar ein wieso, aber ich weiß nicht, wie ich dann meine Konstanten nutzen kann ... ?
Und jedesmal, wenn ein EJB zum Leben erweckt wird, die XML-Datei erneut auszulesen wäre schon ziemlicher Schwachsinn.
Aber wie ist hier der Königsweg?
Wie machen das andere EJB-Programmieren?
Oder wo gibt es was zu lesen über EJB best practices ?
Danke für die Hilfe