[JBoss Tools] - enable-openshift-ci: full example using openshift-java-client
by Andre Dietisheim
Andre Dietisheim [https://community.jboss.org/people/adietish] modified the document:
"enable-openshift-ci: full example using openshift-java-client"
To view the document, visit: https://community.jboss.org/docs/DOC-19828
--------------------------------------------------------------
This wiki entry will show you a complete example using the https://github.com/openshift/openshift-java-client openshift-java-client. The openshift-java-client is a java library that allows you talk to the OpenShift PaaS programmatically.
This article will develop a command line tool in java, that takes a project on your disk and sets up a http://jenkins-ci.org/ jenkins build for it on OpenShift.
The example is hosted on github at https://github.com/adietish/enable-openshift-ci https://github.com/adietish/enable-openshift-ci and you may freely reuse, redistribute or modify the code since it's licensed under the http://www.eclipse.org/legal/epl-v10.html Eclipse Public License.
h1. Requirements
* your project is required to build with maven and has to be committed to a git repository
* you need an account on https://openshift.redhat.com/app/ OpenShift. (If you have no account yet, you'd have to https://openshift.redhat.com/app/account/new signup first)
* you require 3 free application slots (given that you have a default quota of 3 applications).
* you need to have git available on your command-line (enable-openshift-ci is using it to deploy)
h1. Usage
-p the project (folder) that we'll enable CI for
-pw the OpenShift password
-u the OpenShift user
You have to tell enable-openshift-ci where it'll find your project (*-p*), your OpenShift user (*-u*) and password (-*pw*).
An exemplary call using the jar would look the following:
java -jar target/enable-openshift-ci-0.0.1-SNAPSHOT-jar-with-dependencies.jar -p <PATH_TO_PROJECT> -a test -u <USER> -pw <PASSWORT>
Calling it using maven would look like this:
mvn test -Du=<USER> -Dpw=<PASSWORD> -Dp=<PATH_TO_PROJECT>
Given that my project at /home/adietish/git/kitchensink is a maven project and already within a git repository, it will log into my OpenShift account <MYACCOUNT>/<MYPASS>. It will then create an application kitchensink and merge it's initial content into my local proect. It will then create a jenkins application on OpenShift, add a jenkins-client cartridge to the kitchensink application and push the local project to OpenShift. This push will then trigger the build on the jenkins instance.
h1. Implementation
h2. Openshift-java-client
First of all enable-openshift-ci requires the https://github.com/openshift/openshift-java-client openshift-java-client. The client library is available as artifact from maven central. Enable-openshift-ci is a maven project, we can add the openshift-java-client to its classpath by simply using the following snippet in the pom:
<dependency> <groupId>com.openshift</groupId> <artifactId>openshift-java-client</artifactId> <version>2.0.0</version></dependency>
h2. A few classes
* https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... Main: Bootstrapping
* https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... Parameters: Parses, validates and holds the command line parameters
* https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI: Creates the OpenShift CI, pushes your project to it
h2. https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... Parameters: Talk to me via command line parameters
To keep the example simple, we'll stick to a GUI-less programm, that you control by command-line arguments. The https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... Parameters class holds all parameters that were given at the command line. It'll check them for validity and offer them for further processing.
What's important in this context is that the Parameters class will ensure that your project exists, that it is a http://maven.apache.org/ maven project and that it is shared with a http://git-scm.com/ git repository. I used the http://jcommander.org/ JCommander library by Cédric Beust. It allows me to annotate instance variables and get the parsing, validation, conversion and usage printing done very easily. For the sake of brevity, I'll skip any further detailled discussion.
h2. https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI: I want my CI instance!
The https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI class is where it all happens. It'll connect to your https://openshift.redhat.com/app/ OpenShift account, create your Jenkins instance and push your project to it. https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI#create looks like this:
IUser user = createUser();
IDomain domain = getOrCreateDomain(user);
IApplication application = getOrCreateApplication(project.getName(), domain);
IApplication jenkinsApplication = getOrCreateJenkins(domain);
waitForApplication(jenkinsApplication);
waitForApplication(application);
embedJenkinsClient(application);
ensureQuotaNotReached(domain);
deployToOpenShift(application);
h2. Let's get in touch with OpenShift
Before enable-openshift-ci can manipulate resources on OpenShift, it has to connect to it. It asks the https://github.com/openshift/openshift-java-client/blob/master/src/main/j... OpenShiftConnectionFactory for a new connection. The first required parameter is the url of the OpenShift PaaS. You may either hard code it or ask the OpenShift configuration for it:
new OpenShiftConfiguration().getLibraServer()
The connection factory also asks for a meaningful client id. We'll use "enable-openshift-ci".
Last but not least, you also have to give it your OpenShift credentials.
String openshiftServer = new OpenShiftConfiguration().getLibraServer();
IOpenShiftConnection connection = new OpenShiftConnectionFactory().getConnection("enable-openshift-ci", "<user>", "<password>", openshiftServer);
Once you have your connection you can get your user instance which will allow you to create your domain and applications:
IUser user = connection.getUser();
In enable-openshift-ci you'll find this initizalization in https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI#createUser.
h2. Now I need a domain
All resources on OpenShift are bound to a domain. We therefore have to make sure we have a domain in a first step. We actually check if you have a domain and create one if you dont. https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI#getOrCreateDomain:
IDomain domain = user.getDefaultDomain();
if (domain == null) {
domain = user.createDomain(DEFAULT_DOMAIN_NAME);
}
h2. Let's get an application for my project
We now need an application for the project we want to enable jenkins for. The application will provide us the infrastructure that we need for our application (the git-repository, the application server etc.). Enable-openshift-ci now checks if there's an application with the very same as the project.
IApplication application = domain.getApplicationByName(name);
If there's already one, it'll check for it's type (the cartridge).
ICartridge.JBOSSAS_7.equals(application.getCartridge())
Enable-openshift-ci requires a maven aka java project. We therefore need a jbossas-7 application on OpenShift. We therefore fail if the application that we found does not match the required cartridge. If there's no application with the given name yet, we'll create a new one.
IApplication application = domain.createApplication(name, ICartridge.JBOSSAS_7);
You can have a look at the implementation in https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI#getOrCreateApplication to spot all details.
h2. OpenShift, gimme my CI instance!
We now created an application that OpenShift builds whenever we push to it's git repository. The build is executed within the git push. To have a jenkins CI instance doing that work, we'd have to add a jenkins application and connect both. We'll show you how in the upcoming steps:
https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... OpenShiftCI#getOrCreateJenkins first checks if there are any jenkins applications within your domain.
List<IApplication> jenkinsApplications = domain.getApplicationsByCartridge(ICartridge.JENKINS_14);
if(jenkinsApplications.isEmpty()) {
...
If it spots an jenkins instance, itll leave this step alone, it wont need another jenkins application. If there's none yet, it'll create a new jenkins-application and print it's url and credentials OpenShift setup for us:
IApplication jenkins = domain.createApplication(DEFAULT_JENKINS_NAME, ICartridge.JENKINS_14);
System.out.println(jenkins.getCreationLog());
We now have to connect both applications. We have to tell the application for your project to build within our jenkins instance, the one we found or created in the prior step. Before doing so, we have to make sure both applications are reachable and eventually https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... wait for them to become ready:
Future<Boolean> applicationAccessible = application.waitForAccessibleAsync(WAIT_TIMEOUT);
if (!applicationAccessible.get()) {
...
Once they're both ready, we can https://github.com/adietish/enable-openshift-ci/blob/master/src/main/java... add the jenkins-cartridge to our project application. It'll tell OpenShift to build my application in the jenkins that is available in the very same domain. Since we eventually reused an existing application, we also check if the application we found already has a jenkins cartridge and only add a fresh one if there's none yet.
The embedded cartridge we get back offers a creation log, that shows at what url the jenkins jobs may be reached at.
IEmbeddedCartridge jenkinsClient = application.getEmbeddedCartridge(IEmbeddableCartridge.JENKINS_14);
if (jenkinsClient == null) {
jenkinsClient = application.addEmbeddableCartridge(IEmbeddableCartridge.JENKINS_14);
System.out.println(jenkinsClient.getCreationLog());
h2. And now let's have a build fiest!
Enable-openshift-ci now setup all infrastructures that it needed, it can now get over to trigger the build. OpenShift is git based, deploying to OpenShift is git pushing to the git repository of an application. OpenShift builds whenever you push to it. Enable-openshift-ci will therefore operate on the git repo of the local project and push its content to the OpenShift application. This git push to the OpenShift git repo will trigger the build in the jenkins CI on OpenShift.
It first makes sure the local git repo has no outstanding modifications and tells the git command line tool on your path to add and commit everything:
exec("git add .");
exec("git commit -a -m 'deploying'");
It then adds the uri of the application git repo to the local repo:
exec("git remote add openshift -f " + application.getGitUrl());
And then merges the initial content of this git repo into the local project recursively and then pushes the merged result to the OpenShift application:
exec("git merge openshift/master -s recursive -X ours");
exec("git push openshift HEAD -f --progress");
h1. Conclusion
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-19828]
Create a new document in JBoss Tools at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&c...]
12 years, 5 months
[JBoss Web Services] - CXF Endpoint not autowiring spring beans
by Shameer Kunjumohamed
Shameer Kunjumohamed [https://community.jboss.org/people/skunjumohamed] created the discussion
"CXF Endpoint not autowiring spring beans"
To view the discussion, visit: https://community.jboss.org/message/753601#753601
--------------------------------------------------------------
Hi,
CXF endpoint is not properly integrated with spring. I am using JBoss AS 7.1.1 to deploy my cxf webservice integrated with spring. The log messages shows that both CXF and spring creates two different instances of the endpoint bean, and only the spring-created bean is autowired.
The CXF created instance does not have the dependencies set and it is the one who listens to the client requests, and throws null pointers.
Here is the code..
Service Interface..
package test.cxf.service;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService(name = "EchoService", targetNamespace = " http://service.cxf.test/ http://service.cxf.test/")
public interface EchoService {
@WebMethod(operationName = "echo", action = "urn:Echo")
String echo(@WebParam(name = "message") String message);
}
Service implementation (Endpoint)
package test.cxf.service;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@Service("EchoService")
@WebService(endpointInterface = "test.cxf.service.EchoService", serviceName = "EchoService")
public class EchoServiceImpl implements EchoService {
@Autowired
private SystemInfoBean sysInfoBean;
public EchoServiceImpl() {
System.out.println(">>>>>>>>> " + this.getClass().getName() + "-constructed.");
}
@Value("Fooooooooooooo Baaaaaaaaaar")
public void setTestInjection(String value) {
System.out.println(">>>>>>>> Test Injection value = " + value);
}
@WebMethod
public @WebResult(name="result") String echo(@WebParam(name="message") String message) {
System.out.println(">>>>>>>> Inside " + this.getClass().getClass().getName() + "-echo - message = " + message);
System.out.println(" Echoing " + message);
sysInfoBean.printOSInfo();
return message;
}
}
SystemInfoBean - A dependent bean
package test.cxf.service;
import java.lang.management.ManagementFactory;
import java.lang.management.OperatingSystemMXBean;
import org.springframework.stereotype.Component;
@Component
public class SystemInfoBean {
public SystemInfoBean() {
// TODO Auto-generated constructor stub
}
public void printOSInfo() {
OperatingSystemMXBean osXBean = ManagementFactory.getOperatingSystemMXBean();
System.out.println("============ Operating System Information=========");
System.out.println("Operating System: " + osXBean.getName());
System.out.println("Version: " + osXBean.getVersion());
System.out.println("Architecture: " + osXBean.getArch());
System.out.println("Available Processors: " + osXBean.getAvailableProcessors());
System.out.println("==================================================");
}
}
Spring configuration (beans.xml)
web.xml
I am excluding the JBoss CXF modules or implementation jars in the jboss-deployment-structure.xml
Thanks for any help in advance.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/753601#753601]
Start a new discussion in JBoss Web Services at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months
[jBPM] - Error - Table 'jbpm5.task' doesn't exist after trying to set mysql db
by Shamal Karunarathne
Shamal Karunarathne [https://community.jboss.org/people/shamalk] created the discussion
"Error - Table 'jbpm5.task' doesn't exist after trying to set mysql db"
To view the discussion, visit: https://community.jboss.org/message/743804#743804
--------------------------------------------------------------
Hi,
I followed the instructions in [ http://docs.jboss.org/jbpm/v5.3/userguide/ch.installer.html#d0e469 http://docs.jboss.org/jbpm/v5.3/userguide/ch.installer.html#d0e469] to use mysql as the database. but then I get this error when starting jboss. could you help me to fix this please?
19:25:46,592 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jbpm-human-task-war]] (MSC service thread 1-1) StandardWrapper.Throwable: javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614) [hibernate-entitymanager-3.4.0.GA.jar:]
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76) [hibernate-entitymanager-3.4.0.GA.jar:]
at org.jbpm.task.service.persistence.TaskPersistenceManager.getUnescalatedDeadlinesList(TaskPersistenceManager.java:174) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.persistence.TaskPersistenceManager.getUnescalatedDeadlines(TaskPersistenceManager.java:146) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskServiceSession.scheduleUnescalatedDeadlines(TaskServiceSession.java:231) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskService.initialize(TaskService.java:116) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskService.initialize(TaskService.java:101) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskService.<init>(TaskService.java:79) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.servlet.HumanTaskServiceServlet.init(HumanTaskServiceServlet.java:127) [classes:]
at javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_33]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_33]
Caused by: org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:90) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doList(Loader.java:2235) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.list(Loader.java:2124) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) [hibernate-entitymanager-3.4.0.GA.jar:]
... 18 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jbpm5.task' doesn't exist
at sun.reflect.GeneratedConstructorAccessor17.newInstance(Unknown Source) [:1.6.0_33]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_33]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_33]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2293)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.getResultSet(Loader.java:1812) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doQuery(Loader.java:697) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doList(Loader.java:2232) [hibernate-core-3.3.2.GA.jar:]
... 26 more
19:25:46,650 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jbpm-human-task-war]] (MSC service thread 1-1) Servlet /jbpm-human-task-war threw load() exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'jbpm5.task' doesn't exist
at sun.reflect.GeneratedConstructorAccessor17.newInstance(Unknown Source) [:1.6.0_33]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [:1.6.0_33]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [:1.6.0_33]
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.Util.getInstance(Util.java:386)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2293)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.getResultSet(Loader.java:1812) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doQuery(Loader.java:697) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.doList(Loader.java:2232) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.Loader.list(Loader.java:2124) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) [hibernate-core-3.3.2.GA.jar:]
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67) [hibernate-entitymanager-3.4.0.GA.jar:]
at org.jbpm.task.service.persistence.TaskPersistenceManager.getUnescalatedDeadlinesList(TaskPersistenceManager.java:174) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.persistence.TaskPersistenceManager.getUnescalatedDeadlines(TaskPersistenceManager.java:146) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskServiceSession.scheduleUnescalatedDeadlines(TaskServiceSession.java:231) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskService.initialize(TaskService.java:116) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskService.initialize(TaskService.java:101) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.service.TaskService.<init>(TaskService.java:79) [jbpm-human-task-core-5.3.0.Final.jar:]
at org.jbpm.task.servlet.HumanTaskServiceServlet.init(HumanTaskServiceServlet.java:127) [classes:]
at javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3631) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3844) [jbossweb-7.0.1.Final.jar:7.0.2.Final]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:70) [jboss-as-web-7.0.2.Final.jar:7.0.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_33]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_33]
at java.lang.Thread.run(Thread.java:680) [:1.6.0_33]
19:25:46,744 INFO [org.jboss.web] (MSC service thread 1-1) registering web context: /jbpm-human-task-war
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/743804#743804]
Start a new discussion in jBPM at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months
[Beginner's Corner] - JBOSS 5.0.1 unzipping xerces file all the time
by cliff dias
cliff dias [https://community.jboss.org/people/goantech] created the discussion
"JBOSS 5.0.1 unzipping xerces file all the time"
To view the discussion, visit: https://community.jboss.org/message/753539#753539
--------------------------------------------------------------
Hi,
We are migrating from JBOSS 4.0.5 to 5.0.1 GA. We have some code which makes use of JAXB and we see that the xerces jar is unzipped all the time. I have read a few post which make references to the vfs. Is the behaviour we see also related to this ?
"http-0.0.0.0-8084-80" daemon prio=3 tid=0x083e6400 nid=0x373 runnable [0xbd5e2000]
java.lang.Thread.State: RUNNABLE
at java.util.zip.ZipFile.getNextEntry(Native Method)
at java.util.zip.ZipFile.access$400(ZipFile.java:31)
at java.util.zip.ZipFile$2.nextElement(ZipFile.java:325)
- locked <0xd06a0b48> (a java.util.zip.ZipFile)
at java.util.zip.ZipFile$2.nextElement(ZipFile.java:311)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.initEntries(ZipEntryContext.java:477)
- locked <0xd069eae8> (a org.jboss.virtual.plugins.context.zip.ZipEntryContext)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.ensureEntries(ZipEntryContext.java:603)
- locked <0xd069eae8> (a org.jboss.virtual.plugins.context.zip.ZipEntryContext)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.checkIfModified(ZipEntryContext.java:757)
- locked <0xd069eae8> (a org.jboss.virtual.plugins.context.zip.ZipEntryContext)
at org.jboss.virtual.plugins.context.zip.ZipEntryContext.getChild(ZipEntryContext.java:801)
at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.createChildHandler(ZipEntryHandler.java:191)
at org.jboss.virtual.plugins.context.AbstractVirtualFileHandler.structuredFindChild(AbstractVirtualFileHandler.java:681)
at org.jboss.virtual.plugins.context.zip.ZipEntryHandler.getChild(ZipEntryHandler.java:165)
at org.jboss.virtual.plugins.context.DelegatingHandler.getChild(DelegatingHandler.java:107)
at org.jboss.virtual.VirtualFile.findChild(VirtualFile.java:457)
at org.jboss.virtual.plugins.vfs.VirtualFileURLConnection.resolveVirtualFile(VirtualFileURLConnection.java:106)
at org.jboss.virtual.plugins.vfs.VirtualFileURLConnection.getVirtualFile(VirtualFileURLConnection.java:118)
- locked <0xcf5522b8> (a org.jboss.virtual.plugins.vfs.VirtualFileURLConnection)
at org.jboss.virtual.plugins.vfs.VirtualFileURLConnection.getInputStream(VirtualFileURLConnection.java:93)
at java.net.URL.openStream(URL.java:1010)
at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1194)
at javax.xml.parsers.SecuritySupport$4.run(SecuritySupport.java:96)
at java.security.AccessController.doPrivileged(Native Method)
at javax.xml.parsers.SecuritySupport.getResourceAsStream(SecuritySupport.java:89)
at javax.xml.parsers.FactoryFinder.findJarServiceProvider(FactoryFinder.java:250)
at javax.xml.parsers.FactoryFinder.find(FactoryFinder.java:223)
at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:128)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.getXMLReader(AbstractUnmarshallerImpl.java:80)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
at com.vodafone.global.er.decoupling.util.xml.JAXBHelper.bind(JAXBHelper.java:72)
at com.vodafone.global.er.decoupling.util.xml.JAXBHelper.bind(JAXBHelper.java:77)
at com.vodafone.global.er.decoupling.util.xml.XmlRequestManager.getJAXBPayload(XmlRequestManager.java:99)
at com.vodafone.global.er.decoupling.util.xml.XmlRequestManager.getPayload(XmlRequestManager.java:112)
at com.vodafone.global.er.decoupling.process.SelfcareSubscriptionsProcess.init(SelfcareSubscriptionsProcess.java:85)
at com.vodafone.global.er.decoupling.RequestProcessorFactory.getRequestProcessor(RequestProcessorFactory.java:86)
at com.vodafone.global.er.decoupling.DecouplingProcessServlet.doPost(DecouplingProcessServlet.java:190)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
Kind regards,
Cliff
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/753539#753539]
Start a new discussion in Beginner's Corner at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
12 years, 5 months