[JBoss Tools Development] - Integration Tooling Release Process
by Rob Cernich
Rob Cernich [https://community.jboss.org/people/rcernich] modified the document:
"Integration Tooling Release Process"
To view the document, visit: https://community.jboss.org/docs/DOC-48326
--------------------------------------------------------------
h1. Overview
This document details the process for building and releasing composite/aggregate update sites for the JBoss integration tooling (formerly SOA tools).
h2. Goals
* Provide a light-weight process with minimal overhead for component owners.
* Provide an ever-current update site containing the latest, stable releases of integration tooling components.
* Allow component owners to independently manage their release schedules.
* Allow component owners to manage their own dependency stack.
h2. Assumptions
* Components use released versions of dependencies (i.e. stable builds).
* Component owners manage their own interdependencies with other integration components.
* Components and dependencies adhere to Eclipse API versioning rules.
h2. Implications
* Aggregate releases will be driven by component releases.
* Aggregate releases should manage themselves.
* Component nightly/milestone builds should always be compatible with other components in the aggregate.
h1. Definitions
* *Integration Stack (IS)* - all JBoss middleware integration tooling
* *IS configuration* - the definition of specific components and versions that make up the IS
* *IS build* - an update site (p2 repo) aggregating specific versions of integration tooling components.
* *Release types:** *stable* - an IS build aggregating stable (i.e. final) builds of all components that has been certified/tested by QA.
* *development* - an IS build aggregating stable builds of all components that has not been certified/tested by QA.
* *integration* - an IS build aggregating stable, development (e.g. beta) and/or integration builds of all components
* *next* - an internal IS build incorporating the latest integration builds of all components (i.e. the current "trunk" build). This will be used for identifying potential future incompatibilities.
Stable builds will align with a JBDS release in the same way JBT core builds do today. Development builds will reflect the current state of all stable components. Theoretically, any development build could be QA'd and promoted to stable (assuming no test failures). Integration builds allow for an "interim" stack which may be useful during a QA cycle (e.g. verifying a fix that requires updates to multiple components; a single component can be updated via the component update site). Next builds are used to identify potential incompatiblilities among components before they are integrated into a release and would occur weekly/monthly via a Hudson job (e.g. targeting JBT integration builds).
An IS build only needs to occur when the IS configuration changes. Because the IS stack is composed of stable components, configuration changes will only occur when individual components are released. For this reason, it is assumed the build would be invoked manually.
h1. Roles and Responsibilities
h2. Component Owners
1. *Component update site:* Component owners must provide an update site for each release of their component that is included in an IS build.
2. *Updating IS configuration:* Component owners must update the IS build configuration when a new version of their component is released. This ensures the IS is up-to-date.
3. *Respond to change requests:* Component owners must review IS configuration change requests and respond in a timely manner. If a requested change is incompatible with the current version of your component, provide details regarding when your component will be compatible, along with a patch containing changes to the IS configuration for your compatible release.
h2. Release Engineers
1. *Maintain build infrastructure:* Release engineers will be responsible for maintianing the build infrastructure, primarily the Jenkins jobs.
2. *Processing pull requests:* Release engineers will be responsible processing all pull requests related to IS configuration. This is to ensure consistency in the composition of the stack (e.g. components, component versions, IS version, etc.).
3. *Initiate IS builds:* Release engineers will be responsible for initiating IS builds.
4. *Build promotion:* Release engineers will be responsible for the promotion of IS builds (e.g. from development to stable).
h1. Release Process
h2. Component Updates
The following outlines the basic process for updating the IS configuration. Typically, this would occur when a component is released, but the same process is also used for updating shared dependencies (e.g. JBT core, third-party plugins, etc.).
1. Create branch in user repository for IS configuration changes.
2. Update IS configuration for updates, e.g. update URL for SwitchYard from 0.5.0.Final to 0.6.0.Final; update IS version from 0.9.0 to 0.9.1 (see versioning rules)1. Modify the compositeArtifacts.xml and compositeContent.xml files (in aggregate-site) to point to the new update site.
2. Modify the category.xml file (in aggregate-site) as necessary for any feature changes (e.g. adding a feature).
3. Modify project version (pom.xml in aggregate-site).
4. For changes to dependencies:1. Modify base.target or community.target (in target-platform)
2. Modify project version (pom.xml in target-platform)
3. Ensure plugins are mirrored on jboss.org
3. Build locally to validate stack dependencies.
4. Create JIRA task requesting update, e.g. update SwitchYard to 0.6.0.Final* Include link to github branch in task
* Include build results (e.g. SUCCESS or specific dependency resolution errors)
5. Create subtasks against each IS component for verification/approval* For components that failed the consistency check, mark subtasks appropriately, e.g. m2e-wtp version is inconsistent
6. Merge any changes required by other components from subtasks (e.g. update Savara to 2.1.0.Final)
7. Build IS locally to validate dependency consistency
8. Issue pull request against upstream IS configuration project
9. Process pull (by release engineer)
10. Invoke build job (by release engineer)
h2. Platform Updates
*Goal:* release updated IS within four weeks of JBT/JBDS core release.
1. Initiate platform update during JBT beta phase
2. Follow the component update process above (e.g. update JBT core from 3.3 to 4.0)
h2. Dependency Updates
The process for updating a shared dependency is the same as that for updating any other component, with the following additions:
1. Make sure the dependency is mirrored on jboss.org.
2. Make sure the dependency is not already included through JBT core.
If a dependency is included through JBT core, you will need to coordinate with the core team on the upgrade, as the change may impact components outside the IS.
h2. Versioning Rules - major.minor.update.build
*Major* should be updated for:
* Base platform changes, e.g. Eclipse Indigo->Juno, JBT 3.3->4.0
* Major component updates, e.g. SwitchYard 1.0->2.0
*Minor* should be updated for minor component updates, e.g. SwitchYard 0.5->0.6
*Update* should be updated for minor component updates, e.g. SwitchYard 0.5.0->0.5.1
*Build* should be updated for each build, e.g. when building against nightly/integration/development repositories
** Note, the basic assumption here is that components are adhering to basic API rules (per Eclipse; e.g. minor includes bug fixes and api additions, major may include breaking api changes).
h1. Update Site Locations
* *Integration builds: http://download.jboss.org/jbosstools/updates/integration/juno/integration... http://download.jboss.org/jbosstools/updates/integration/juno/integration...
* *Development builds: http://http://download.jboss.org/jbosstools/updates/development/juno/inte... http://http://download.jboss.org/jbosstools/updates/development/juno/inte...
* *Stable builds: http://http://download.jboss.org/jbosstools/updates/stable/juno/integrati... http://http://download.jboss.org/jbosstools/updates/stable/juno/integrati...
h1. Infrastructure
* *JIRA -* https://issues.jboss.org/browse/JBTIS https://issues.jboss.org/browse/JBTIS
* *Source -* https://github.com/jbosstools/jbosstools-integration-stack https://github.com/jbosstools/jbosstools-integration-stack* *target-platform* - provides a target platform defining all upstream dependencies for use by IS components (e.g. JBT core, third-party plugins)
* *aggregate-site* - provides category and feature definitions for the IS update site
* *Jenkins* -
--------------------------------------------------------------
Comment by going to Community
[https://community.jboss.org/docs/DOC-48326]
Create a new document in JBoss Tools Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=102&c...]
11 years, 2 months
[JBoss Web Development] - Deploying weblogic 8.1 application to Jboss 7.1
by Sunil D
Sunil D [https://community.jboss.org/people/sunildshpnd] created the discussion
"Deploying weblogic 8.1 application to Jboss 7.1"
To view the discussion, visit: https://community.jboss.org/message/796491#796491
--------------------------------------------------------------
hi all,
I am new to jboss application servers. i have a requirement to migrate weblogic 8.1 application to jboss 7.1. I am trying to deploy the war and facing below. can someone help me on this.
16:23:12,131 INFO [org.acegisecurity.intercept.AbstractSecurityInterceptor] (MSC service thread 1-2) Validated configuration attributes
16:23:12,147 INFO [org.springframework.web.context.ContextLoader] (MSC service thread 1-2) Root WebApplicationContext: initialization completed in 390 ms
16:23:12,162 INFO [stdout] (MSC service thread 1-2) ERROR: APPLICATION REGISTRY. NO CONFIGURATION FILE SPECIFIED
16:23:12,162 INFO [stdout] (MSC service thread 1-2) ApplicationRegistry configuration complete.
16:23:12,334 INFO [org.hibernate.cfg.Environment] (MSC service thread 1-2) Hibernate 3.2.3
16:23:12,334 INFO [org.hibernate.cfg.Environment] (MSC service thread 1-2) hibernate.properties not found
16:23:12,334 INFO [org.hibernate.cfg.Environment] (MSC service thread 1-2) Bytecode provider name : cglib
16:23:12,334 INFO [org.hibernate.cfg.Environment] (MSC service thread 1-2) using JDK 1.4 java.sql.Timestamp handling
16:23:12,365 INFO [org.hibernate.cfg.Configuration] (MSC service thread 1-2) configuring from file: hibernate.cfg.xml
16:23:12,365 ERROR [com.fareis.wingspan.claims.hibernate.utils.HibernateUtil] (MSC service thread 1-2) Building SessionFactory failed.: org.hibernate.HibernateException: could not find file: null\hibernate.cfg.xml
at org.hibernate.cfg.Configuration.configure(Configuration.java:1465) [hibernate-3.2.3.ga.jar:]
at com.fareis.wingspan.claims.hibernate.utils.HibernateUtil.<clinit>(HibernateUtil.java:33) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.hibernate.HibernateDAOFactory.getCurrentSession(HibernateDAOFactory.java:58) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.hibernate.HibernateDAOFactory.getLookupDAO(HibernateDAOFactory.java:42) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.loadLookupData(LookupData.java:53) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.<init>(LookupData.java:49) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.<clinit>(LookupData.java:42) [wingspan.jar:]
at com.fareis.wingspan.control.LookupDataCacheServlet.init(LookupDataCacheServlet.java:17) [wingspanActions.jar:]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_24]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_24]
Caused by: java.io.FileNotFoundException: null\hibernate.cfg.xml (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method) [rt.jar:1.6.0_24]
at java.io.FileInputStream.<init>(FileInputStream.java:106) [rt.jar:1.6.0_24]
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462) [hibernate-3.2.3.ga.jar:]
... 17 more
16:23:12,459 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/wingspan]] (MSC service thread 1-2) StandardWrapper.Throwable: java.lang.ExceptionInInitializerError
at com.fareis.wingspan.claims.hibernate.utils.HibernateUtil.<clinit>(HibernateUtil.java:42) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.hibernate.HibernateDAOFactory.getCurrentSession(HibernateDAOFactory.java:58) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.hibernate.HibernateDAOFactory.getLookupDAO(HibernateDAOFactory.java:42) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.loadLookupData(LookupData.java:53) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.<init>(LookupData.java:49) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.<clinit>(LookupData.java:42) [wingspan.jar:]
at com.fareis.wingspan.control.LookupDataCacheServlet.init(LookupDataCacheServlet.java:17) [wingspanActions.jar:]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_24]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_24]
Caused by: org.hibernate.HibernateException: could not find file: null\hibernate.cfg.xml
at org.hibernate.cfg.Configuration.configure(Configuration.java:1465) [hibernate-3.2.3.ga.jar:]
at com.fareis.wingspan.claims.hibernate.utils.HibernateUtil.<clinit>(HibernateUtil.java:33) [wingspan.jar:]
... 16 more
Caused by: java.io.FileNotFoundException: null\hibernate.cfg.xml (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method) [rt.jar:1.6.0_24]
at java.io.FileInputStream.<init>(FileInputStream.java:106) [rt.jar:1.6.0_24]
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462) [hibernate-3.2.3.ga.jar:]
... 17 more
16:23:12,552 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/wingspan]] (MSC service thread 1-2) Servlet /wingspan threw load() exception: java.io.FileNotFoundException: null\hibernate.cfg.xml (The system cannot find the path specified)
at java.io.FileInputStream.open(Native Method) [rt.jar:1.6.0_24]
at java.io.FileInputStream.<init>(FileInputStream.java:106) [rt.jar:1.6.0_24]
at org.hibernate.cfg.Configuration.configure(Configuration.java:1462) [hibernate-3.2.3.ga.jar:]
at com.fareis.wingspan.claims.hibernate.utils.HibernateUtil.<clinit>(HibernateUtil.java:33) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.hibernate.HibernateDAOFactory.getCurrentSession(HibernateDAOFactory.java:58) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.hibernate.HibernateDAOFactory.getLookupDAO(HibernateDAOFactory.java:42) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.loadLookupData(LookupData.java:53) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.<init>(LookupData.java:49) [wingspan.jar:]
at com.fareis.wingspan.claims.dao.LookupData.<clinit>(LookupData.java:42) [wingspan.jar:]
at com.fareis.wingspan.control.LookupDataCacheServlet.init(LookupDataCacheServlet.java:17) [wingspanActions.jar:]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_24]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_24]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_24]
Hoe to test the application after deploymnet.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/796491#796491]
Start a new discussion in JBoss Web Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 2 months
[jBPM Development] - Using LDAP in 5.4 - How to avoid creating users in organizationalentity table
by João Guerra
João Guerra [https://community.jboss.org/people/ciberg] created the discussion
"Using LDAP in 5.4 - How to avoid creating users in organizationalentity table"
To view the discussion, visit: https://community.jboss.org/message/796487#796487
--------------------------------------------------------------
Hi,
I'm new to jBPM and I hope you can help me on this.
I have jBPM 5.4 deployed in my own JBOSS AS 7.1.1 and persisting in postgres.
I also have connected to LDAP and I can use the console logging with a LDAP and manage processes.
I have a workflow with Human Tasks deployed in Guvnor.
The problem is that I'm developing an ESB for a web application to manage the processes and tasks and I can't do anything without creating the users in the organizationalentity table.
I don't understand why the console works well with LDAP and my ESB doesn't work.
I have made the following to connect to LDAP:
- In standalone.xml:
<security-domain name="jbpm-console" cache-type="default">
<authentication>
<login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
<module-option name="bindDN" value="cn=Manager,dc=develop,dc=com"/>
<module-option name="bindCredential" value="ldapadmin"/>
<module-option name="java.naming.provider.url" value="ldap://192.168.1.2"/>
<module-option name="baseCtxDN" value="ou=Person,dc=develop,dc=com"/>
<module-option name="baseFilter" value="(uid={0})"/>
<module-option name="rolesCtxDN" value="ou=Groups,dc=develop,dc=com"/>
<module-option name="roleFilter" value="(member={1})"/>
<module-option name="roleAttributeID" value="member"/>
<module-option name="roleAttributeIsDN" value="true"/>
<module-option name="roleNameAttributeID" value="CN"/>
<module-option name="searchScope" value="SUBTREE_SCOPE"/>
<module-option name="allowEmptyPasswords" value="true"/>
</login-module>
<login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" flag="optional">
<module-option name="rolesProperties" value="${jboss.server.config.dir}/rolemapping.properties"/>
</login-module>
</authentication>
</security-domain>
- File called rolemapping.properties in jboss standalone/configuration folder to map users group to the corresponding role:
Group1=user
- File called jbpm.usergroup.callback.properties in WEB-INF/lib of jbpm-human-task.war with:
ldap.bind.user=cn\=Manager,dc\=develop,dc\=com
ldap.bind.pwd=ldapadmin
ldap.user.ctx=ou\=Person,dc\=develop,dc\=com
ldap.role.ctx=ou\=Group1,dc\=develop,dc\=com
#ldap.user.roles.ctx=ou\=Group1,dc\=develop,dc\=com
ldap.user.filter=(uid\={0})
ldap.role.filter=(cn\={0})
ldap.user.roles.filter=(member\={0})
- web.xml in jbpm-human-task.war replacing with:
<init-param>
<param-name>user.group.callback.class</param-name>
<param-value>org.jbpm.task.identity.LDAPUserGroupCallbackImpl</param-value>
</init-param>
Thank you for any help you can give me.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/796487#796487]
Start a new discussion in jBPM Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 2 months
[EJB3 Development] - How to package EJB interface for JBoss AS 7
by David Phan
David Phan [https://community.jboss.org/people/dphanva] created the discussion
"How to package EJB interface for JBoss AS 7"
To view the discussion, visit: https://community.jboss.org/message/796181#796181
--------------------------------------------------------------
I'm migrating to JBoss AS 7 from JBoss AS 5. I've read JBoss AS 7 Class Loading mechanism and although I feel I understood it, I have a hard time packaging my jar and war for JBoss AS 7. Here is the scenario:
1. I have an EJB interface named IRepository
2. And an EJB class that implements that interface, named Repository
3. This EJB will be looked up, using JNDI, as a local bean by a web application which is packaged as a separate .war file.
4. I'm also using Maven for building and packaging my .jar and .war files
The questions I have are:
1. Should I package IRepository in a .jar (say irepository.jar) separate from the jar that contains Repository EJB class?
- If I do this I believe I can reference irepository.jar as a dependency in my .war file's MANIFEST. This is fine, except that it increases the number of Maven projects I have by 1 to build irepository.jar
2. Should I package IRepository and Repository EJB in the same jar (say repositoryejb.jar) AND NOT including this jar in my .war (using Maven 'provided' scope)?
- If I do this and I put repositoryejb.jar in modules/.../main JBoss 7 doesn't display JNDI information about this EJB, which makes me believe that my web app may not be able to look up this EJB
- If I just deploy repositoryejb.jar in the standalone/deployments directory, JBoss 7 displays JNDI information about this EJB. But how do I specify that my .war depends on repositoryejb.jar? Basically, my .war does not know what IRepository is to cast a looked up EJB to a variable within my web app
3. Should I package IRepository and Repository EJB in the same jar AND including this jar in my .war (using Maven 'compiled' scope)?
- This would ensure that my web app can cast a looked up EJB to IRepository. But when I deploy my .war to JBoss AS 7 it discovers a different EJB (in war scope) and provides different JNDI information. This is just not clean.
It seems that the answer is straight forward, but maybe my head is stuck in the sand that I can see a good answer. Thanks in advance for the help.
--------------------------------------------------------------
Reply to this message by going to Community
[https://community.jboss.org/message/796181#796181]
Start a new discussion in EJB3 Development at Community
[https://community.jboss.org/choose-container!input.jspa?contentType=1&con...]
11 years, 2 months