WSO2 : IS and APIM integration - wso2-api-manager

I have been trying to integrate the APIM and IS together for WSO2. I am currently using APIM as version 2.5.0 and IS as 5.6.0
I am referring this link for the complete setup
(https://docs.wso2.com/display/CLUSTER44x/Configuring+the+Identity+Server+5.2.0+as+a+Key+Manager+with+API+Manager+2.0.0#)
Now, in the first step where it is asking to install the API keymanagement feature, I am getting below error
Cannot complete the install because of a conflicting dependency. Software being installed: WSO2 Carbon - Api management Key Manager Feature 6.0.4 (org.wso2.carbon.apimgt.keymanager.feature.group 6.0.4) Software currently installed: OAuth Feature 6.0.14 (org.wso2.carbon.identity.oauth.feature.group 6.0.14) Only one of the following can be installed at once: Identity OAuth Server Feature 6.0.14 (org.wso2.carbon.identity.oauth.server.feature.jar 6.0.14) Identity OAuth Server Feature 5.1.1 (org.wso2.carbon.identity.oauth.server.feature.jar 5.1.1) Identity OAuth Server Feature 5.1.3 (org.wso2.carbon.identity.oauth.server.feature.jar 5.1.3) Cannot satisfy dependency: From: WSO2 Carbon - Api management Key Manager Feature 6.0.4 (org.wso2.carbon.apimgt.keymanager.feature.group 6.0.4) To: org.wso2.carbon.identity.oauth.server.feature.group [5.1.1,5.2.0) Cannot satisfy dependency: From: OAuth Feature 6.0.14 (org.wso2.carbon.identity.oauth.feature.group 6.0.14) To: org.wso2.carbon.identity.oauth.server.feature.group [6.0.14] Cannot satisfy dependency: From: Identity OAuth Server Feature 5.1.1 (org.wso2.carbon.identity.oauth.server.feature.group 5.1.1) To: org.wso2.carbon.identity.oauth.server.feature.jar [5.1.1] Cannot satisfy dependency: From: Identity OAuth Server Feature 5.1.3 (org.wso2.carbon.identity.oauth.server.feature.group 5.1.3) To: org.wso2.carbon.identity.oauth.server.feature.jar [5.1.3] Cannot satisfy dependency: From: Identity OAuth Server Feature 6.0.14 (org.wso2.carbon.identity.oauth.server.feature.group 6.0.14) To: org.wso2.carbon.identity.oauth.server.feature.jar [6.0.14]
I skipped this steps and completed the other steps fully.
Now, I am able to open IS dashboard, APIM publisher and store properly but when I am trying to generate one token from Store dashboard to invoke any API, I am getting below error:
ERROR - AbstractKeyManager Can not create OAuth application : DefaultApplication_PRODUCTION
org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) https://localhost:9445/services/APIKeyMgtSubscriberService
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:381)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:456)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:227)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.apimgt.keymgt.stub.subscriber.APIKeyMgtSubscriberServiceStub.createOAuthApplicationByApplicationInfo(APIKeyMgtSubscriberServiceStub.java:1126)
at org.wso2.carbon.apimgt.keymgt.client.SubscriberKeyMgtClient.createOAuthApplicationbyApplicationInfo(SubscriberKeyMgtClient.java:61)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createOAuthApplicationbyApplicationInfo(AMDefaultKeyManagerImpl.java:693)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createApplication(AMDefaultKeyManagerImpl.java:125)
at org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.dogenerateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:140)
ERROR - APIUtil Error occurred while executing SubscriberKeyMgtClient.
org.wso2.carbon.apimgt.api.APIManagementException: Can not create OAuth application : DefaultApplication_PRODUCTION
at org.wso2.carbon.apimgt.impl.AbstractKeyManager.handleException(AbstractKeyManager.java:161)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createApplication(AMDefaultKeyManagerImpl.java:127)
at org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.dogenerateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:140)
Caused by: org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) https://localhost:9445/services/APIKeyMgtSubscriberService
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:381)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:456)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:227)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.apimgt.keymgt.stub.subscriber.APIKeyMgtSubscriberServiceStub.createOAuthApplicationByApplicationInfo(APIKeyMgtSubscriberServiceStub.java:1126)
at org.wso2.carbon.apimgt.keymgt.client.SubscriberKeyMgtClient.createOAuthApplicationbyApplicationInfo(SubscriberKeyMgtClient.java:61)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createOAuthApplicationbyApplicationInfo(AMDefaultKeyManagerImpl.java:693)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createApplication(AMDefaultKeyManagerImpl.java:125)
... 81 more
[2019-02-15 11:46:59,877] ERROR - ApplicationRegistrationSimpleWorkflowExecutor Error occurred when updating the status of the Application creation process
org.wso2.carbon.apimgt.api.APIManagementException: Error occurred while executing SubscriberKeyMgtClient.
at org.wso2.carbon.apimgt.impl.utils.APIUtil.handleException(APIUtil.java:1416)
at org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.dogenerateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:165)
at org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.generateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:119)
at org.wso2.carbon.apimgt.impl.workflow.ApplicationRegistrationSimpleWorkflowExecutor.complete(ApplicationRegistrationSimpleWorkflowExecutor.java:78)
at org.wso2.carbon.apimgt.impl.workflow.ApplicationRegistrationSimpleWorkflowExecutor.execute(ApplicationRegistrationSimpleWorkflowExecutor.java:54)
at org.wso2.carbon.apimgt.impl.APIConsumerImpl.requestApprovalForApplicationRegistration(APIConsumerImpl.java:3035)
at org.wso2.carbon.apimgt.impl.UserAwareAPIConsumer.requestApprovalForApplicationRegistration(UserAwareAPIConsumer.java:34)
at org.wso2.carbon.apimgt.hostobjects.APIStoreHostObject.jsFunction_getApplicationKey(APIStoreHostObject.java:346)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
at org.mozilla.javascript.FunctionObject.call(FunctionObject.java:386)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
at org.jaggeryjs.rhino.store.modules.subscription.c2._c_anonymous_2(/store/modules/subscription/key.jag:41)
at org.jaggeryjs.rhino.store.modules.subscription.c2.call(/store/modules/subscription/key.jag)
at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
at org.jaggeryjs.rhino.store.modules.subscription.c0._c_anonymous_10(/store/modules/subscription/module.jag:35)
at org.jaggeryjs.rhino.store.modules.subscription.c0.call(/store/modules/subscription/module.jag)
at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
Caused by: org.wso2.carbon.apimgt.api.APIManagementException: Can not create OAuth application : DefaultApplication_PRODUCTION
at org.wso2.carbon.apimgt.impl.AbstractKeyManager.handleException(AbstractKeyManager.java:161)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createApplication(AMDefaultKeyManagerImpl.java:127)
at org.wso2.carbon.apimgt.impl.workflow.AbstractApplicationRegistrationWorkflowExecutor.dogenerateKeysForApplication(AbstractApplicationRegistrationWorkflowExecutor.java:140)
... 80 more
Caused by: org.apache.axis2.AxisFault: The service cannot be found for the endpoint reference (EPR) https://localhost:9445/services/APIKeyMgtSubscriberService
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:381)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:456)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:227)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:149)
at org.wso2.carbon.apimgt.keymgt.stub.subscriber.APIKeyMgtSubscriberServiceStub.createOAuthApplicationByApplicationInfo(APIKeyMgtSubscriberServiceStub.java:1126)
at org.wso2.carbon.apimgt.keymgt.client.SubscriberKeyMgtClient.createOAuthApplicationbyApplicationInfo(SubscriberKeyMgtClient.java:61)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createOAuthApplicationbyApplicationInfo(AMDefaultKeyManagerImpl.java:693)
at org.wso2.carbon.apimgt.impl.AMDefaultKeyManagerImpl.createApplication(AMDefaultKeyManagerImpl.java:125)
... 81 more
[2019-02-15 11:46:59,894] ERROR - APIConsumerImpl Could not execute Workflow
org.wso2.carbon.apimgt.impl.workflow.WorkflowException: Error occurred while executing SubscriberKeyMgtClient.
Could not paste the complete other lines as the limit of chars got completed.
But these are the errors which I am getting in generating the Token for an application in store.
Can some one please cehck and let me know what I am doing wrong.
Thanks

Instead of installing the keymanager features, can you download the pre-packed wso2 IS as keymanager pack from https://docs.wso2.com/display/AM250/Configuring+WSO2+Identity+Server+as+a+Key+Manager#ConfiguringWSO2IdentityServerasaKeyManager-Step1-DownloadtheprepackagedWSO2ISastheKeyManager . This is a WSO2 IS pack with keymanager features installed.

Related

Sonar : Fail to load plugin SonarPLSQL [plsql]

My SonarQube version is sonarqube-7.5 community edition.
Sonar Scanner version is sonar-scanner-3.3.0.1492-windows
I downloaded sonar-plsql-plugin-3.3.0.2273.jar and placed it in \sonarqube-7.5\extensions\plugins\ folder.
My operating system is Windows.
When I try to start SonarQube, I get the below exception in web.log file.
The PLSQL plugin which I am using is compatible with SonarQube 6.7+ and I am using version 7.5 (https://docs.sonarqube.org/display/PLUG/SonarPLSQL)
How could I resolve this issue and start the server?
2019.01.28 16:00:00 INFO web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2019.01.28 16:00:01 ERROR web[][o.s.s.p.Platform] Background initialization failed. Stopping SonarQube
java.lang.IllegalStateException: Fail to load plugin SonarPLSQL [plsql]
at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:82)
at org.sonar.server.platform.platformlevel.PlatformLevel4.start(PlatformLevel4.java:586)
at org.sonar.server.platform.Platform.start(Platform.java:211)
at org.sonar.server.platform.Platform.startLevel34Containers(Platform.java:185)
at org.sonar.server.platform.Platform.access$500(Platform.java:46)
at org.sonar.server.platform.Platform$1.lambda$doRun$0(Platform.java:119)
at org.sonar.server.platform.Platform$AutoStarterRunnable.runIfNotAborted(Platform.java:371)
at org.sonar.server.platform.Platform$1.doRun(Platform.java:119)
at org.sonar.server.platform.Platform$AutoStarterRunnable.run(Platform.java:355)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/sonarsource/plugins/license/api/LicensedPluginRegistration
at com.sonar.plsql.plugin.PlSqlPlugin.define(Unknown Source)
at org.sonar.server.plugins.ServerExtensionInstaller.installExtensions(ServerExtensionInstaller.java:72)
... 9 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.sonarsource.plugins.license.api.LicensedPluginRegistration
at org.sonar.classloader.ParentFirstStrategy.loadClass(ParentFirstStrategy.java:39)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:87)
at org.sonar.classloader.ClassRealm.loadClass(ClassRealm.java:76)
... 11 common frames omitted
2019.01.28 16:00:02 INFO web[][o.s.p.StopWatcher] Stopping process
Sonar PLSQL plugin is a commercial product. You cannot install it on SonarQube Community edition. You have to buy at least Developer edition. Read more at Plans & Pricing.

{org.wso2.andes.client.AMQConnection} - Unable to connect to broker at After migrating to WSO2 API Manager 2.1.0

I migrated to API Manager 2.1.0 with Identity server as key manager 5.3.0.
I followed the document https://docs.wso2.com/display/AM210/Upgrading+from+the+Previous+Release+when+WSO2+IS+is+the+Key+Manager
I have custom domain name mapped to all url.
I have the below error in WSO2 API manager logs when i try to hit an API. How to debug this?which file should be the culprit?
In earlier version , i faced this issue when i missed to update jndi.properties.But that is done properly here as below.
# connectionfactory.[jndiname] = [ConnectionURL]
connectionfactory.TopicConnectionFactory = amqp://admin:admin#clientid/carbon?brokerlist='tcp://mydevwso2.ca:5672'
connectionfactory.QueueConnectionFactory = amqp://admin:admin#clientID/test?brokerlist='tcp://mydevwso2.ca:5672'
What could cause the below error?
Caused by: org.wso2.andes.AMQConnectionFailureException: Could not open connection
at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:486)
at org.wso2.andes.client.AMQConnectionFactory.createConnection(AMQConnectionFactory.java:351)
... 13 more
Caused by: org.wso2.andes.transport.TransportException: Could not open connection
at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:130)
at org.wso2.andes.client.AMQConnection$2.run(AMQConnection.java:631)
at org.wso2.andes.client.AMQConnection$2.run(AMQConnection.java:628)
at java.security.AccessController.doPrivileged(Native Method)
at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:628)
at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:409)
... 14 more
TID: [-1] [] [2017-11-14 14:12:08,925] ERROR {org.wso2.carbon.event.output.adapter.jms.internal.util.JMSMessageSender} - {org.wso2.carbon.event.output.adapter.jms.internal.util.JMSMessageSender}
java.lang.NullPointerException
at org.wso2.carbon.event.output.adapter.jms.internal.util.JMSMessageSender.send(JMSMessageSender.java:88)
at org.wso2.carbon.event.output.adapter.jms.JMSEventAdapter$JMSSender.run(JMSEventAdapter.java:284)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
TID: [-1] [] [2017-11-14 14:12:22,207] INFO {org.wso2.andes.client.AMQConnection} - Unable to connect to broker at tcp://mydevwso2.ca:5672 {org.wso2.andes.client.AMQConnection}
org.wso2.andes.transport.TransportException: Could not open connection
at org.wso2.andes.transport.network.mina.MinaNetworkTransport$IoConnectorCreator.connect(MinaNetworkTransport.java:216)
at org.wso2.andes.transport.network.mina.MinaNetworkTransport.connect(MinaNetworkTransport.java:74)
at org.wso2.andes.client.AMQConnectionDelegate_8_0.makeBrokerConnection(AMQConnectionDelegate_8_0.java:130)
at org.wso2.andes.client.AMQConnection$2.run(AMQConnection.java:631)
at org.wso2.andes.client.AMQConnection$2.run(AMQConnection.java:628)
at java.security.AccessController.doPrivileged(Native Method)
at org.wso2.andes.client.AMQConnection.makeBrokerConnection(AMQConnection.java:628)
at org.wso2.andes.client.AMQConnection.<init>(AMQConnection.java:409)
Check whether the super admin user credentials are correct in the jndi.properties file and also in the api-manager.xml file. In the api-manager.xml file, the relevant configuration can be seen similar to the below example (credentials can be different).
<JMSConnectionParameters>
<transport.jms.ConnectionFactoryJNDIName>TopicConnectionFactory</transport.jms.ConnectionFactoryJNDIName>
<transport.jms.DestinationType>topic</transport.jms.DestinationType>
<java.naming.factory.initial>org.wso2.andes.jndi.PropertiesFileInitialContextFactory</java.naming.factory.initial>
<connectionfactory.TopicConnectionFactory>amqp://admin:admin2#clientid/carbon?brokerlist='${jms.url}'</connectionfactory.TopicConnectionFactory>
</JMSConnectionParameters>
I could observe the same issue as you, resulting in:
org.wso2.andes.AMQConnectionFailureException: Could not open connection ..)
I was able to resolve by changing the above configurations to the correct super admin user credentials. The correct admin user credentials can be found from the <APIM_Home>/repository/conf/usr-mgt.xml file. An example configuration is as follows:
<AdminUser>
<UserName>admin</UserName>
<Password>admin2</Password>
</AdminUser>

WSO2 API Manager and Google Analytics

I've configured my API Manager to enable google analytics, and am receiving the following error in API Manager:
2013-10-10 13:31:12,869 [-] [HttpServerWorker-1] ERROR APIMgtGoogleAnalyticsTrackingHandler String index out of range: -1 java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.substring(String.java:1911) at org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler.trackPageView(APIMgtGoogleAnalyticsTrackingHandler.java:69) at org.wso2.carbon.apimgt.usage.publisher.APIMgtGoogleAnalyticsTrackingHandler.handleRequest(APIMgtGoogleAnalyticsTrackingHandler.java:49) at org.apache.synapse.rest.API.process(API.java:252) at org.apache.synapse.rest.RESTRequestHandler.dispatchToAPI(RESTRequestHandler.java:76) at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:63) at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:191) at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:83) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) at org.apache.synapse.transport.nhttp.ServerWorker.processEntityEnclosingMethod(ServerWorker.java:455) at org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:275) at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)
Any ideas what I could be doing wrong?
My API Manager configuration is very simple:
<GoogleAnalyticsTracking>
<Enabled>true</Enabled>
<TrackingID>UA-TrackingId-1</TrackingID>
</GoogleAnalyticsTracking>
We haven't come across this issue in APIM with google analytics. But we have fixed the possible code block. You can try with latest APIM 1.5.0

spring MVC, Jboss 7

I am trying to build a sample spring MVC app using Maven and getting deployed in JBoss 7 application server.
While trying to build using maven, it builds fine without error. However while trying to deploy using JBoss 7, I am getting this following error.
Kindly help to give ideas what might be the cause of this error.
13:48:36,408 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC00001: Failed to start service jboss.deployment.unit."firstSpring-1.0-SNAPSHOT.war".POST_MODULE: org.jboss.msc.service.StartException in service jboss.deployment.unit."firstSpring-1.0-SNAPSHOT.war".POST_MODULE: Failed to process phase POST_MODULE of deployment "firstSpring-1.0-SNAPSHOT.war"
Caused by: java.lang.RuntimeException: Error getting reflective information for class org.springframework.web.servlet.tags.EvalTag with ClassLoader ModuleClassLoader for Module "deployment.firstSpring-1.0-SNAPSHOT.war:main" from Service Module Loader
Caused by: java.lang.NoClassDefFoundError: org/springframework/expression/PropertyAccessor
Caused by: java.lang.ClassNotFoundException: org.springframework.expression.PropertyAccessor from [Module "deployment.firstSpring-1.0-SNAPSHOT.war:main" from Service Module Loader]

Flyway Migrations from JBOSS ESB

My team is trying to use Flyway to migrate our database during deployment of our JBOSS ESB packages. We created a Migration MBean that calls flyway to initialize and migrate our database.
During deployment we get the following error:
DEPLOYMENTS IN ERROR:
Deployment "vfszip:/opt/jboss-soa-p.5.2.0/jboss-as/server/default/deploy/our-package.esb/
" is in error due to the following reason(s): java.io.FileNotFoundException: JAR entry db/migration not found in /opt/jboss-soa-p.5.2.0/jboss-as/server/default/deploy/our-package.esb
Environment:
JBOSS 5.2.0
Flyway Core 2.0.3
Structure of ESB Package (our-package.esb)
|lib
|db
|migration
|V1__Initial_structure.sql
|V1_1__Populate_table.sql
|jboss-service.xml
|META-INF
Our deployments will mainly consist of queues, topics and associated listeners. We have multiple ESB packages to deploy across several environments.
Update
2013-02-18 12:33:11,700 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (HDScanner)
Error installing to Start: name=our.pack.age:service=DBMigrator state=Create mode=Manual
requiredState=Installed
com.googlecode.flyway.core.api.FlywayException:
Unable to scan for SQL migrations in location: db/migration
at
com.googlecode.flyway.core.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:97)
at com.googlecode.flyway.core.resolver.CompositeMigrationResolver.collectMigrations(CompositeMigrationResolver.java:219)
at com.googlecode.flyway.core.resolver.CompositeMigrationResolver.doFindAvailableMigrations(CompositeMigrationResolver.java:157)
at com.googlecode.flyway.core.resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:127)
at com.googlecode.flyway.core.info.MigrationInfoServiceImpl.refresh(MigrationInfoServiceImpl.java:86)
at com.googlecode.flyway.core.info.MigrationInfoServiceImpl.(MigrationInfoServiceImpl.java:79)
at
com.googlecode.flyway.core.Flyway$4.execute(Flyway.java:1019)
at
com.googlecode.flyway.core.Flyway$4.execute(Flyway.java:1012)
at
com.googlecode.flyway.core.Flyway.execute(Flyway.java:1259)
at
com.googlecode.flyway.core.Flyway.info(Flyway.java:1012)
at
our.pack.age.DBMigrator.migrate(DBMigrator.java:52)
at
our.pack.age.DBMigrator.start(DBMigrator.java:31)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:597)
...More
Caused by: java.io.FileNotFoundException:
JAR entry db/migration not found in /opt/jboss-soa-p.5.2.0/jboss-as/server/default/deploy/our-package.esb
at sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:122)
at
sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71)
at
com.googlecode.flyway.core.util.scanner.JarFileLocationScanner.getJarFromUrl(JarFileLocationScanner.java:55)
at com.googlecode.flyway.core.util.scanner.JarFileLocationScanner.findResourceNames(JarFileLocationScanner.java:34)
at com.googlecode.flyway.core.util.scanner.ClassPathScanner.findResourceNames(ClassPathScanner.java:156)
at com.googlecode.flyway.core.util.scanner.ClassPathScanner.scanForResources(ClassPathScanner.java:58)
at com.googlecode.flyway.core.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:86)
... 68 more
DBMigrator is our custom MBean used to call Flyway to migrate our database.
We are using Flyway default configurations with the exception of setOutOfOrder(true).
Test SQL files were placed in src/main/resources/db/migration.

Resources