# JMS package javax.jms does not exist (mit servlets/jsp)



## Faaip De Oiad (17. Mrz 2005)

wir haben den projektauftrag bekommen in der schule verschiedene Netzwerkwege zu untersuchen jetzt bekomme ich eine fehlermeldung beim JMS-Server (leider errormeldung auf franz)
kann mir bitte jemand helfen, ich sollte das bis und mit morgen implementieren.


```
Etat HTTP 500 - 

--------------------------------------------------------------------------------

type Rapport d'exception

message 

description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.

exception 

org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP

Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:6: package javax.jms does not exist
import javax.jms.*;
^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:112: cannot resolve symbol
symbol  : class QueueConnectionFactory 
location: class org.apache.jsp.jsp1_jsp
                QueueConnectionFactory queueConnectionFactory = null;
                ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:113: cannot resolve symbol
symbol  : class QueueConnection 
location: class org.apache.jsp.jsp1_jsp
                QueueConnection queueConnection = null;
                ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:114: cannot resolve symbol
symbol  : class QueueSession 
location: class org.apache.jsp.jsp1_jsp
                QueueSession queueSession = null;
                ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:115: cannot resolve symbol
symbol  : class Queue 
location: class org.apache.jsp.jsp1_jsp
                Queue queue = null;
                ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:116: cannot resolve symbol
symbol  : class QueueSender 
location: class org.apache.jsp.jsp1_jsp
                QueueSender queueSender = null;
                ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:117: cannot resolve symbol
symbol  : class TextMessage 
location: class org.apache.jsp.jsp1_jsp
                TextMessage message = null;
                ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:140: cannot resolve symbol
symbol  : class QueueConnectionFactory 
location: class org.apache.jsp.jsp1_jsp
                        queueConnectionFactory = (QueueConnectionFactory)
                                                  ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:142: cannot resolve symbol
symbol  : class Queue 
location: class org.apache.jsp.jsp1_jsp
                        queue = (Queue) jndiContext.lookup(queueName);
                                 ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:165: cannot resolve symbol
symbol  : variable Session 
location: class org.apache.jsp.jsp1_jsp
                        Session.AUTO_ACKNOWLEDGE);
                        ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:181: cannot resolve symbol
symbol  : class JMSException 
location: class org.apache.jsp.jsp1_jsp
                catch (JMSException e)
                       ^


Une erreur s'est produite à la ligne: 61 dans le fichier jsp: /jsp1.jsp
Erreur de servlet générée:
C:\Borland\JBuilder2005\thirdparty\jakarta-tomcat-5.0.27\work\Catalina\localhost\_\org\apache\jsp\jsp1_jsp.java:194: cannot resolve symbol
symbol  : class JMSException 
location: class org.apache.jsp.jsp1_jsp
                                catch (JMSException e) {}
                                       ^
12 errors



	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:332)
	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:412)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:472)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
	org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.0.27.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.27
```


----------



## Bleiglanz (17. Mrz 2005)

was machst du? der tomcat ist KEIN JMS Provider?

du musst schon einen verwenden und die nötigen client jars entweder ins ...WEB-INF/lib oder gleich in $CATALINA_HOME/common/lib


----------



## Faaip De Oiad (18. Mrz 2005)

vielen dank für die schnelle antwort. Leider wird der Tomcat jetzt automatisch geschlossen beim zugriff auf die JSP-seite.

das mit tomcat war mir klar thänx.


----------



## Bleiglanz (18. Mrz 2005)

fehlermeldung? in catalina.out??


----------



## Faaip De Oiad (18. Mrz 2005)

ja der tomcat gibt folgende fehlermeldung:
JNDI API lookup failed: javax.naming.NameNotFoundException: ...

ich nehme mal an dass ich das javax.naming.jar nicht included hab oder so.

edit: ah nee das javax.naming ist ja im JDK schon included.


----------



## Bleiglanz (18. Mrz 2005)

nein, das naming ist schon vorhanden

aber der gesuchte name war nicht im JNDI Baum, d.h. die lookup Methode ist gescheitert

=> du musst Dinge, die du auf einer jsp via lookup holen willst schon vorher reinlegen [Global Ressources in der server.xml o.ä], vermutlich brauchst du eine JMSConnectionFactory oder sowas


----------



## Faaip De Oiad (18. Mrz 2005)

vielen dank für deine Hilfe, ich bin dem Fehler jetzt schon ein stückchen näher.
ich hab noch irgendwo im internet gefunden:



> Ein Objekt anmelden bzw. an den Namen binden - hängt von deiner Umgebung ab...
> 
> z.B. ein ConnectionPool in der server.xml bei Tomcat
> 
> ...



achja er findet die datei queueconnectionfactory nicht


----------



## Faaip De Oiad (18. Mrz 2005)

kann mir niemand helfen was ich dort ins server.xml reinschreiben muss?


----------



## Bleiglanz (18. Mrz 2005)

WELCHEN JMS Provider nimmst du überhaupt her?

ist da keine Doku dabei?


----------



## Guest (21. Mrz 2005)

jdk?


----------



## Faaip De Oiad (21. Mrz 2005)

da ich nicht genau weiss was gemeint ist (sorry bin newbie in diesem Bereich)
JMS
Servlets
Tomcat 5.0
-> Klasse QueueConnectionFactory
JDK 4.x
P2P

er scheint die Klasse QueueConnectionFactory nicht zu kennen und ich muss das wahrscheinlich in der Server.xml oder web.xml von Tomcat ändern.
was ich nun genau ändern muss ist die frage, auf die ich bisher noch keine Lösung gefunden habe.
Das Internet ist hierzu keine grosse Hilfe (leider!)


----------



## Faaip De Oiad (21. Mrz 2005)

Anmerkung: wenn ich die Klassen ohne die Servletklasse starte funktioniert alles.


----------



## Bleiglanz (21. Mrz 2005)

JMS ist ein haufen Interfaces, damit du auf irgendeine art von Messaging System (eine JMS Implementierung, ein JMS Provider) zugreifen kannst, brauchst du so eine Implementierung

der TOMCAT ist KEIN JMS-Provider, hat keinerlei Unterstützung für Messages

=> du brauchst irgendeinen Drittanbieter, irgendeinen Hersteller von Messaging Software, damit du überhaupt mit JMS arbeiten kannst????


----------



## Faaip De Oiad (21. Mrz 2005)

brauche den J2EE SDK

irgendwie bin ich jetzt total verwirrt mit diesem Dritthersteller, das messaging hat ja gefunzt bis ich das servlet versucht habe einzubinden...


----------



## Faaip De Oiad (21. Mrz 2005)

Lösungsansatz:
ins web.xml schreiben:
<res-ref>
 <res-ref-name>jms/QueueConnectionFactory</res-ref-name>
 <res-type>javax.jms.QueueConnectionFactory</res-type>
 <res-auth>Container</res-auth>
</res-ref>


----------



## Bleiglanz (21. Mrz 2005)

du brauchst einen vollen J2EE Application server, ein solcher hat nämlich einen JMS-Server eingebaut

=> der Tomcat nicht


----------



## Faaip De Oiad (21. Mrz 2005)

ja hab ich


----------



## Bleiglanz (21. Mrz 2005)

und welchen?


----------



## Faaip De Oiad (21. Mrz 2005)

SDK oder bin ich jetzt im falschen Film?!?!


----------



## Bleiglanz (21. Mrz 2005)

schaut ganz so aus


----------



## Bleiglanz (21. Mrz 2005)

Frage: was meinst du überhaupt mit "JMS"?


----------

