Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Java + XML-конфиги / 3 сообщений из 3, страница 1 из 1
07.08.2007, 15:30:32
    #34711175
igor_ch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java + XML-конфиги
Всем доброе время суток.
Пробую реализовать web-приложение, в котором некоторые параметры вынесены в файл config.xml (что-бы не загружать файл web.xml).
Он содержит, например:
Код: plaintext
1.
2.
3.
4.
<?xml version="1.0" encoding="UTF-8"?>
<config>
	<par>Test</par>
</config>

Подгружается этот файл с помощью библиотеки jox116.jar и bean-файлов следующим образом:
Код: plaintext
1.
2.
3.
4.
URL url =  new  URL(pathXml);
URLConnection connection = url.openConnection();
JOXBeanInputStream joxIn =  new  JOXBeanInputStream(connection.getInputStream());
Myconfig = (ConfigBean) joxIn.readObject(ConfigBean. class );

где pathXml - строка с адресом, по которому можно найти файл config.xml.
Myconfig - это bean-файл:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 package  bean;

 public   class  ConfigBean
{
	 protected  String par;
	
	 public  ConfigBean()
	{	par = ""; }
	
	

	 public  String getPar()
	{	 return  par; }

	 public   void  setPar(String par)
	{	 this .par = par; }
}

И в итоге я столкнулся с такой проблемой:
Если выполнить вызов Myconfig.getPar(), то выдается ошибка:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
 14 : 09 : 28 , 247  ERROR [Engine] StandardWrapperValve[autTEst]: Servlet.service()  for  servlet autTest thr
ew exception
java.lang.NoSuchMethodError: bean.ConfigBean.getPar()Ljava/lang/String;
        at autTest.doPost(autTest.java: 54 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java: 717 )
        at javax.servlet.http.HttpServlet.service(HttpServlet.java: 810 )
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.j
ava: 237 )
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java: 157 )

        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java: 214 )
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 104 )
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 520 )
        at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java: 19 
 8 )
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java: 152 )
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 104 )
        at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.ja
va: 72 )
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 102 )
        at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java: 275 
)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 102 )
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 520 )
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java: 137 )
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 104 )
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java: 117 )
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 102 )
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 520 )
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java: 109 )
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java: 104 )
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: 520 )
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java: 929 )
        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java: 160 )
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java: 799 )
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11P
rotocol.java: 705 )
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java: 577 )
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java: 683 )
        at java.lang.Thread.run(Thread.java: 534 )


Подскажите в чем загвоздка.
...
Рейтинг: 0 / 0
07.08.2007, 16:17:43
    #34711356
vas0
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java + XML-конфиги
автор
Код: plaintext
java.lang.NoSuchMethodError: bean.ConfigBean.getPar()Ljava/lang/String;
судя по этому в ear/war лежит какая то старая версия класса ConfigBean, у которой нет метода getPar(). Можно попробовать пересобрать приложение.

imho придумывать свое конфигурирование это плохая идея. Зачем изобретать велосипед? Лучше воспользуйтесь чем нибудь готовым (например spring ioc). Конечно придется потратить время на освоение, но и бенефитов будет намного больше.
...
Рейтинг: 0 / 0
07.08.2007, 16:56:50
    #34711582
igor_ch
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Java + XML-конфиги
По поводу старой версии могу точно сказать, что класс содержит необходимый метод. Для того, что-бы убедиться я его из *.class в *.java пробывал переганять.

----------
В том-то и дело, что я ничего не придумывал своего, а взял готовую библиотеку jox116.jar.
Она у меня в простых java-приложениях отлично работает, но вот в web, что-то не захотела.
Похоже придется искать что-то другое на ее роль для web-приложений.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Java + XML-конфиги / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]