You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@aries.apache.org by Panayot Radinski <pa...@elster.de> on 2013/05/17 16:56:31 UTC

Classloader problems with an embedded/bundled application (elasticsearch)

Hi folks,

i have embedden elasticsearch in one bundle and it works pretty good
with spring-dm.
I want to migrate now to apache aries blueprint and have then the
problem, that elasticsearch cannot load

return (Class<? extends T>) getClassLoader().loadClass(sValue);

some own classes. I know that i should use the imports and export in the
maven-bundle-plugin ... but it wont work

<plugin>
                  <groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
                  <version>2.3.5</version>
                  <executions>
                      <execution>
                          <id>bundle-manifest</id>
                          <phase>process-classes</phase>
                          <goals>
                              <goal>manifest</goal>
                          </goals>
                      </execution>
                      <execution>
                          <id>bundle</id>
                          <phase>package</phase>
                          <goals>
                              <goal>bundle</goal>
                          </goals>
                      </execution>
                  </executions>
                  <configuration>
                      <supportedProjectTypes>
<supportedProjectType>jar</supportedProjectType>
<supportedProjectType>bundle</supportedProjectType>
<supportedProjectType>war</supportedProjectType>
<supportedProjectType>pom</supportedProjectType>
                      </supportedProjectTypes>
                      <instructions>
                          <Require-Bundle />
<Export-Package>org.elasticsearch.*;version="${project.version}"</Export-Package>
                          <Import-Package>!com.ning.compress.*,
                              !com.sun.jna.*,
                              !gnu.trove.*,
                              !jsr166e.*,
                              !jsr166y.*,
                              !org.apache.log4j.helpers.*,
                              !com.fasterxml.*,
                              !org.hyperic.sigar.*,
                              !org.jboss.netty.*,
                              !org.mvel2.*,
                              !sun.misc.*,
                              !org.yaml.snakeyaml.*,
                              !com.google.common.*,
                              !javax.transaction.xa.*,
                              !org.apache.regexp.*,
                              !org.joda.time.*,
                              !org.apache.lucene.*,
                              !org.xerial.*,
                              !org.tartarus.*,
                              !org.hornetq.*,
org.elasticsearch.action;version="${project.version}",
org.elasticsearch.action.admin.cluster.health;version="${project.version}",
org.elasticsearch.action.admin.indices.create;version="${project.version}",
org.elasticsearch.action.admin.indices.exists;version="${project.version}",
org.elasticsearch.action.delete;version="${project.version}",
org.elasticsearch.action.get;version="${project.version}",
org.elasticsearch.action.index;version="${project.version}",
org.elasticsearch.action.search;version="${project.version}",
org.elasticsearch.client;version="${project.version}",
org.elasticsearch.common.bytes;version="${project.version}",
org.elasticsearch.common.joda.convert;version="${project.version}",
org.elasticsearch.common.xcontent;version="${project.version}",
org.elasticsearch.index.query;version="${project.version}",
org.elasticsearch.node;version="${project.version}",
org.elasticsearch.search;version="${project.version}",
                              *</Import-Package>
                      </instructions>
                  </configuration>
              </plugin>

I think the problem is, that the bundle that needs imports is exporting
these at the same time ... and that isnt working. Or??


Panayot