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 <forres...@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 <mtqc2...@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 <mtqc2...@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 <mtqc2...@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 <mtqc2...@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 <mtqc2...@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 <mcha...@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