geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Chau <mtqc2...@yahoo.com>
Subject Re: Geronino 3 beta Servlet issue
Date Mon, 23 Apr 2012 01:39:20 GMT
Thank you for all the help.  I will take a look at both of them.


On Apr 22, 2012, at 6:24 PM, li yanli wrote:

> Please also take geronimo-5879 as a reference :
> https://issues.apache.org/jira/browse/GERONIMO-5879
> 
> On Sat, Apr 21, 2012 at 9:39 AM, Forrest Xia <forrestxm@gmail.com> wrote:
>> I don't know postgres much, but I know there is a sample called daytrader
>> which support multiple databases, which includes postgres, you can refer to
>> a released one for example.
>> 
>> http://svn.apache.org/repos/asf/geronimo/daytrader/tags/daytrader-3.0-beta-1/
>> 
>> 
>> On Fri, Apr 20, 2012 at 3:17 PM, Michael Chau <mtqc2000@yahoo.com> wrote:
>>> 
>>> Thanks, Forrest.  I am using the Ration OSGi tool.  I somehow forgot to
>>> check the box to compile the servlet class into the WEB-INF/classes folder.
>>> 
>>> Now, I'm trying to figure out how to write to a Postgres db using jdbc.  I
>>> haven't been able to find any good examples.  Can you point me to one or
>>> give me some tips on how to go about it?
>>> 
>>> Once again, thanks for the help.
>>> 
>>> michael
>>> 
>>> On Apr 19, 2012, at 9:24 PM, Forrest Xia wrote:
>>> 
>>> Two points here:
>>> 1. What tools you used to genereate this eba? if using eclipse, sugguest
>>> you use Rational development tools for OSGi application[1]
>>> 2. Your sample's web module sample-web_xxx.jar file structure is not
>>> correct, you should put your servlet class into WEB-INF/classes folder
>>> 
>>> [1]
>>> http://www.ibm.com/developerworks/rational/downloads/10/rationaldevtoolsforosgiapplications.html
>>> 
>>> Attached an updated sample for your reference.
>>> 
>>> On Thu, Apr 19, 2012 at 12:42 PM, Michael Chau <mtqc2000@yahoo.com> wrote:
>>>> 
>>>> Sorry, I misunderstood you.  Here it is:
>>>> 
>>>> 
>>>> 
>>>> On Apr 19, 2012, at 12:41 AM, Forrest Xia wrote:
>>>> 
>>>> Finding the potential error via "SEE" through the text is hard work for
>>>> me :)
>>>> 
>>>> Can you just attach your eba here? so that I can quickly have a local try
>>>> with your eba.
>>>> 
>>>> On Thu, Apr 19, 2012 at 1:07 PM, Michael Chau <mtqc2000@yahoo.com>
wrote:
>>>>> 
>>>>> Thanks for helping me.  I'm new to OSGi.  Here are my configs and code.
>>>>> 
>>>>> SampleApp
>>>>> APPLICATION.MF
>>>>> 
>>>>> Application-Name: sample-app
>>>>> Application-SymbolicName: sample-app
>>>>> Application-ManifestVersion: 1.0
>>>>> Application-Version: 1.0.0.qualifier
>>>>> Application-Content: sample-api;version="1.0.0",
>>>>>  sample-server;version="1.0.0",
>>>>>  sample-web;version="1.0.0"
>>>>> Manifest-Version: 1.0
>>>>> 
>>>>> SampleApi
>>>>> 
>>>>> Manifest-Version: 1.0
>>>>> Bundle-ManifestVersion: 2
>>>>> Bundle-Name: sample-api
>>>>> Bundle-SymbolicName: sample-api
>>>>> Bundle-Version: 1.0.0.qualifier
>>>>> Bundle-RequiredExecutionEnvironment: JavaSE-1.6
>>>>> Export-Package: com.sample.api
>>>>> 
>>>>> 
>>>>> package com.sample.api;
>>>>> 
>>>>> public interface SampleService {
>>>>> public String sayHello(String name);
>>>>> }
>>>>> 
>>>>> 
>>>>> SampleServer
>>>>> 
>>>>> Manifest-Version: 1.0
>>>>> Bundle-Blueprint: OSGI-INF/blueprint/*.xml
>>>>> Bundle-Version: 1.0.0.qualifier
>>>>> Bundle-Name: sample-server
>>>>> Bundle-ManifestVersion: 2
>>>>> Import-Package: com.sample.api
>>>>> Bundle-SymbolicName: sample-server
>>>>> Bundle-RequiredExecutionEnvironment: JavaSE-1.6
>>>>> Export-Package: com.sample.server
>>>>> 
>>>>> Source:
>>>>> package com.sample.server;
>>>>> 
>>>>> import com.sample.api.SampleService;
>>>>> 
>>>>> public class SampleServiceImpl implements SampleService {
>>>>> 
>>>>> public String sayHello(String name) {
>>>>> // TODO Auto-generated method stub
>>>>> return "Hello "+name;
>>>>> }
>>>>> 
>>>>> }
>>>>> 
>>>>> **** Blueprint.xml
>>>>> 
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
>>>>>     <bean id="serviceBean" class="com.sample.server.SampleServiceImpl"/>
>>>>> 
>>>>>     <service ref="serviceBean"
>>>>> interface="com.sample.api.SampleService"/>
>>>>> 
>>>>> </blueprint>
>>>>> 
>>>>> SampleWeb
>>>>> 
>>>>> Manifest-Version: 1.0
>>>>> Bundle-ManifestVersion: 2
>>>>> Bundle-Name: sample-web
>>>>> Bundle-SymbolicName: sample-web
>>>>> Bundle-Version: 1.0.0.qualifier
>>>>> Bundle-ClassPath: WEB-INF/classes
>>>>> Web-ContextPath: /sample-web
>>>>> Import-Package: com.sample.api,
>>>>>  javax.naming,
>>>>>  javax.servlet;version="2.5",
>>>>>  javax.servlet.http;version="2.5"
>>>>> Bundle-RequiredExecutionEnvironment: JavaSE-1.6
>>>>> Export-Package: com.sample.client.web
>>>>> 
>>>>> 
>>>>> package com.sample.client.web;
>>>>> 
>>>>> import java.io.IOException;
>>>>> 
>>>>> import javax.naming.InitialContext;
>>>>> import javax.naming.NamingException;
>>>>> import javax.servlet.ServletException;
>>>>> import javax.servlet.http.HttpServlet;
>>>>> import javax.servlet.http.HttpServletRequest;
>>>>> import javax.servlet.http.HttpServletResponse;
>>>>> 
>>>>> import com.sample.api.SampleService;
>>>>> 
>>>>> /**
>>>>>  * Servlet implementation class SampleServlet
>>>>>  */
>>>>> public class SampleServlet extends HttpServlet {
>>>>> private static final long serialVersionUID = 1L;
>>>>> 
>>>>>     /**
>>>>>      * @see HttpServlet#HttpServlet()
>>>>>      */
>>>>>     public SampleServlet() {
>>>>>         super();
>>>>>         // TODO Auto-generated constructor stub
>>>>>     }
>>>>> 
>>>>> /**
>>>>> * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
>>>>> response)
>>>>> */
>>>>> protected void doGet(HttpServletRequest request, HttpServletResponse
>>>>> response) throws ServletException, IOException {
>>>>> // TODO Auto-generated method stub
>>>>> SampleService sample = null;
>>>>> try {
>>>>> InitialContext ic = new InitialContext();
>>>>> sample = (SampleService) ic.lookup("osgi:service/" +
>>>>> SampleService.class.getName());
>>>>> response.getOutputStream().println("**** " + sample.sayHello("Sample
>>>>> Service"));
>>>>> }
>>>>> catch (NamingException e) {
>>>>> e.printStackTrace(System.out);
>>>>> }
>>>>> }
>>>>> 
>>>>> /**
>>>>> * @see HttpServlet#doPost(HttpServletRequest request,
>>>>> HttpServletResponse response)
>>>>> */
>>>>> protected void doPost(HttpServletRequest request, HttpServletResponse
>>>>> response) throws ServletException, IOException {
>>>>> // TODO Auto-generated method stub
>>>>> }
>>>>> 
>>>>> }
>>>>> 
>>>>> **** web.xml
>>>>> 
>>>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>>>>> xmlns="http://java.sun.com/xml/ns/javaee"
>>>>> xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
>>>>> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
>>>>> http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID"
>>>>> version="3.0">
>>>>>   <display-name>sample-web</display-name>
>>>>>   <servlet>
>>>>> <display-name>SampleServlet</display-name>
>>>>> <servlet-name>SampleServlet</servlet-name>
>>>>> <servlet-class>com.sample.client.web.SampleServlet</servlet-class>
>>>>>   </servlet>
>>>>>   <servlet-mapping>
>>>>> <servlet-name>SampleServlet</servlet-name>
>>>>> <url-pattern>/sample</url-pattern>
>>>>>   </servlet-mapping>
>>>>>   <welcome-file-list>
>>>>>     <welcome-file>index.html</welcome-file>
>>>>>     <welcome-file>index.htm</welcome-file>
>>>>>     <welcome-file>index.jsp</welcome-file>
>>>>>     <welcome-file>default.html</welcome-file>
>>>>>     <welcome-file>default.htm</welcome-file>
>>>>>     <welcome-file>default.jsp</welcome-file>
>>>>>   </welcome-file-list>
>>>>> </web-app>
>>>>> 
>>>>> 
>>>>> 
>>>>> On Apr 18, 2012, at 8:44 PM, Forrest Xia wrote:
>>>>> 
>>>>> Can you attach your sample here for a check?
>>>>> 
>>>>> On Thu, Apr 19, 2012 at 12:43 AM, Michael Chau <mtqc2000@yahoo.com>
>>>>> wrote:
>>>>>> 
>>>>>> I have my SampleApi (interface) exported it.  I don't believe I'm
>>>>>> suppose to export the implementation (SampleServer) and web bundle(Sample
>>>>>> Web).  But, i just tried exporting them both just to see if it will
work and
>>>>>> I'm still getting the same error.  I'm somewhat following the CounterApp
>>>>>> example.  My web bundle is pretty much the same as the CounterWebBundle
>>>>>> (same required import packages and no exports).
>>>>>> 
>>>>>> 
>>>>>> On Apr 18, 2012, at 12:55 AM, Forrest Xia wrote:
>>>>>> 
>>>>>> Have you exported your application classes in Export-Package of
>>>>>> MANIFEST.MF?
>>>>>> 
>>>>>> On Wed, Apr 18, 2012 at 3:42 AM, Michael Chau <mtqc2000@yahoo.com>
>>>>>> wrote:
>>>>>>> 
>>>>>>> Thanks, Ivan.
>>>>>>> 
>>>>>>> I added the javax.naming to the import and now getting this error:
>>>>>>> 
>>>>>>> 2012-04-18 00:40:53,484 ERROR [WebApplication] Unable to start
web
>>>>>>> application for bundle sample-web
>>>>>>> org.apache.geronimo.common.DeploymentException: Fail to load
servlet
>>>>>>> class
>>>>>>> at
>>>>>>> org.apache.geronimo.web25.deployment.merge.annotation.ServletSecurityAnnotationMergeHandler.postProcessWebXmlElement(ServletSecurityAnnotationMergeHandler.java:79)
>>>>>>> at
>>>>>>> org.apache.geronimo.web25.deployment.merge.MergeHelper.processWebFragmentsAndAnnotations(MergeHelper.java:418)
>>>>>>> at
>>>>>>> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.basicInitContext(AbstractWebModuleBuilder.java:493)
>>>>>>> at
>>>>>>> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.initContext(AbstractWebModuleBuilder.java:436)
>>>>>>> at
>>>>>>> org.apache.geronimo.osgi.web.extender.WebApplication.doRun(WebApplication.java:213)
>>>>>>> at
>>>>>>> org.apache.geronimo.osgi.web.extender.WebApplication.run(WebApplication.java:125)
>>>>>>> at
>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>> at
>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>> at java.lang.Thread.run(Thread.java:680)
>>>>>>> Caused by: java.lang.ClassNotFoundException:
>>>>>>> com.sample.client.web.SampleServlet
>>>>>>> at
>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513)
>>>>>>> at
>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429)
>>>>>>> at
>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417)
>>>>>>> at
>>>>>>> org.apache.geronimo.hook.equinox.GeronimoClassLoader.loadClass(GeronimoClassLoader.java:85)
>>>>>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
>>>>>>> at
>>>>>>> org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:345)
>>>>>>> at
>>>>>>> org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229)
>>>>>>> at
>>>>>>> org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1207)
>>>>>>> at
>>>>>>> org.apache.geronimo.web25.deployment.merge.annotation.ServletSecurityAnnotationMergeHandler.postProcessWebXmlElement(ServletSecurityAnnotationMergeHandler.java:52)
>>>>>>> ... 11 more
>>>>>>> 
>>>>>>> 
>>>>>>> On Apr 17, 2012, at 11:09 PM, Ivan wrote:
>>>>>>> 
>>>>>>> From the log files, it seems that javax.naming should be added
in the
>>>>>>> import-package list for the wab ?
>>>>>>> 
>>>>>>> 2012/4/18 Michael Chau <mchau01@gmail.com>
>>>>>>>> 
>>>>>>>> I've created a SampleApi(interface), SampleServer(implementation)
and
>>>>>>>> SampleWeb(servlet) bundles.  It's using Blueprint.  I ran
it in the Apache
>>>>>>>> Aries container and it was fine.  I tried to run it in Geronimo
and got
>>>>>>>> 
>>>>>>>> 2012-04-17 14:44:52,759 ERROR [WebApplication] Unable to
start web
>>>>>>>> application for bundle sample-web
>>>>>>>> java.lang.NoClassDefFoundError: Could not fully load class:
>>>>>>>> com.sample.client.web.SampleServlet
>>>>>>>>  due to:javax/naming/NamingException
>>>>>>>>  in classLoader:
>>>>>>>> org.apache.geronimo.hook.equinox.GeronimoClassLoader@10993991
>>>>>>>> at org.apache.xbean.finder.ClassFinder.<init>(ClassFinder.java:136)
>>>>>>>> at
>>>>>>>> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.createWebAppClassFinder(AbstractWebModuleBuilder.java:663)
>>>>>>>> at
>>>>>>>> org.apache.geronimo.web25.deployment.AbstractWebModuleBuilder.configureBasicWebModuleAttributes(AbstractWebModuleBuilder.java:698)
>>>>>>>> at
>>>>>>>> org.apache.geronimo.tomcat.deployment.TomcatModuleBuilder.addGBeans(TomcatModuleBuilder.java:483)
>>>>>>>> at
>>>>>>>> org.apache.geronimo.osgi.web.extender.WebApplication.doRun(WebApplication.java:218)
>>>>>>>> at
>>>>>>>> org.apache.geronimo.osgi.web.extender.WebApplication.run(WebApplication.java:125)
>>>>>>>> at
>>>>>>>> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>>>>>> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>>>>>> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>>>>>> at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>>>>>> at
>>>>>>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>>>>>> at java.lang.Thread.run(Thread.java:680)
>>>>>>>> 
>>>>>>>> Any help is appreciated.
>>>>>>>> 
>>>>>>>> Michael
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> 
>>>>>>> --
>>>>>>> Ivan
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> --
>>>>>> Thanks!
>>>>>> 
>>>>>> Regards, Forrest
>>>>>> 
>>>>>> 
>>>>> 
>>>>> 
>>>>> 
>>>>> --
>>>>> Thanks!
>>>>> 
>>>>> Regards, Forrest
>>>>> 
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> Thanks!
>>>> 
>>>> Regards, Forrest
>>>> 
>>>> 
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Thanks!
>>> 
>>> Regards, Forrest
>>> 
>>> <sample-app2.eba>
>>> 
>>> 
>> 
>> 
>> 
>> --
>> Thanks!
>> 
>> Regards, Forrest
>> 
> 
> 
> 
> -- 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Best Wishes!
> Tina Li


Mime
View raw message