всем доброго времени суток
мучает одна проблема. непонятно почему зависает JSP страница.
зависает при условии:
— если в нижеписаном фрагменте отработает metka1
— если внутри геттера произойдет исключение, когда Config используется как bean
jstack показывает блок в waiting to lock <0x0917fd88> (a org.apache.tomcat.util.log.SystemLogHandler)
никто не может объяснить почему происходит такая беда ?
очень неприятно осознавать, что такое может случится на production-е.
ms windows7
netbeans 6.9.1.
tomcat 6.0.26
jdk 1.6.0_20
класс Config
package package1;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.XMLConfiguration;
public class Config {
public volatile static Config instance;
XMLConfiguration xml = null;
public Config() {
}
private Config(String configFile) {
try {
xml = new XMLConfiguration(configFile);
} catch (ConfigurationException ex) {
metka1:// Exception точно произойдет
xml = null;
Logger.getLogger(Config.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* Get the value of instance
*
* @return the value of instance
*/
public static Config getInstance() {
if (instance == null)
{
synchronized (Config.class)
{
if (instance == null)
{
instance = new Config ("file not found");
}
}
}
}
public String getServerName ()
{
return getInstance().xml.getString("serverName");
}
}
страница JSP:
<jsp:useBean id="cfg" scope="application" class="package1.Config" />
<c:out value="${cfg.serverName}"/>
спасибо