I've added all the packages from the JNDI jar, it seemed that it solved the
problem:
<Export-Package>javax.jms;javax.naming;javax.naming.ldap;javax.naming.event;javax.naming.directory;javax.naming.spi;com.sun.naming.internal</Export-Package>

Now I'm facing with the first exception again:

Caused by: javax.naming.NoInitialContextException: Cannot instantiate class:
org.jnp.interfaces.NamingContextFactory [Root exception is
java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory
not found by salespotential.felix_commandfetcher [18]]
        at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:663)
        at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:250)
        at javax.naming.InitialContext.init(InitialContext.java:226)
        at javax.naming.InitialContext.<init>(InitialContext.java:202)




el_paso wrote:
> 
> Hi,
> 
> I'm trying to build a felix bundle with maven that uses JMS. I don't want
> to ask a maven site because you are much more into this. I can build the
> bundle with this pom:
> 
> <project xmlns="http://maven.apache.org/POM/4.0.0";
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>       <modelVersion>4.0.0</modelVersion>
>       <groupId>####</groupId>
>       <artifactId>####</artifactId>
>       <version>0.0.1-SNAPSHOT</version>
>       <repositories>
>               <repository>
>                       <id>repository.jboss.org-public</id>
>                       <name>JBoss repository</name>
>                       
> <url>https://repository.jboss.org/nexus/content/groups/public</url>
>               </repository>
> 
>       </repositories>
>       <packaging>bundle</packaging>
>       <build>
>               <plugins>
>                       <plugin>
>                               <groupId>org.apache.felix</groupId>
>                               <artifactId>maven-bundle-plugin</artifactId>
>                               <extensions>true</extensions>
>                               <configuration>
>                                       <instructions>
>                                       
> <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
>                                               <Bundle-Name>####</Bundle-Name>
>                                               
> <Bundle-Description>####</Bundle-Description>
>                                               
> <Bundle-Vendor>Apache-Felix</Bundle-Vendor>
>                                               
> <Bundle-Version>1.0.1</Bundle-Version>
>                                               
> <Bundle-Activator>####.Activator</Bundle-Activator>
>                                               
> <Import-Package>*</Import-Package>
>                                               
> <Export-Package>javax.jms</Export-Package>
>                                               
> <Import-Bundle>org.wiring.package</Import-Bundle>
>                                       </instructions>
>                               </configuration>
>                       </plugin>
>               </plugins>
>       </build>
>       <dependencies>
>               <dependency>
>                       <groupId>org.apache.felix</groupId>
>                       <artifactId>org.apache.felix.framework</artifactId>
>                       <version>2.0.4</version>
>               </dependency>
>               <dependency>
>                       <groupId>javax.jms</groupId>
>                       <artifactId>jms</artifactId>
>                       <version>1.1</version>
>               </dependency>
>               <dependency>
>                       <groupId>javax.naming</groupId>
>                       <artifactId>jndi</artifactId>
>                       <version>1.2.1</version>
>               </dependency>
>       </dependencies>
> </project>
> 
> The problem is that when I try to start the bundle, I get this exception:
> javax.naming.NoInitialContextException: Cannot instantiate class:
> org.jnp.interfaces.NamingContextFactory [Root exception is
> java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
>       at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
>       at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
>                ...
> 
> As I looked after the problem I've found the solution, I forgot to export
> javax.naming, so I did this:
> <Export-Package>javax.jms; javax.naming</Export-Package>
> 
> After that I got a new exception, so I've also exported this one:
> org.osgi.framework.BundleException: Unresolved constraint in bundle
> ####[18]: Unable to resolve 18.8: missing requirement [18.8]
> osgi.wiring.package; (osgi.wiring.package=com.sun.naming.internal)
> 
> The next exception was this:
> org.osgi.framework.BundleException: Uses constraint violation. Unable to
> resolve bundle revision ####[18.9] because it is exposed to package
> 'javax.naming' from bundle revisions ####[18.9] and
> org.apache.felix.framework [0] via two dependency chains.
> 
> Chain 1:
>   ####[18.9]
>     import:
> (&(osgi.wiring.package=javax.naming)(version>=1.0.0)(!(version>=2.0.0)))
>      |
>     export: osgi.wiring.package=javax.naming
>  ####[18.9]
> 
> Chain 2:
>   ####[18.9]
>     import: (osgi.wiring.package=javax.naming.ldap)
>      |
>     export: osgi.wiring.package=javax.naming.ldap; uses:=javax.naming
>     export: osgi.wiring.package=javax.naming
>   org.apache.felix.framework [0]
> 
> So I dont know what and how to export to make it work. Please help.
> 
> in the code I use this:
>    Hashtable<String, String> properties = new Hashtable<String, String>();
>    properties.put(Context.INITIAL_CONTEXT_FACTORY,
> "org.jnp.interfaces.NamingContextFactory");
>    properties.put(Context.PROVIDER_URL, "rmi://localhost:1099/");
>    ctx = new InitialContext(properties);
> 
> 
> 
>  
> 

-- 
View this message in context: 
http://old.nabble.com/jms-in-a-bundle-v2-tp32818822p32818987.html
Sent from the Apache Felix - Users mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to