Apache ActiveMQ Artemis on Oracle WebLogic 12c

The aim of this blog is to describe the configuration of WLS to connect to Artemis QM. 

This is based on a POC create for this purpose. 

  • Configuration for writing queue 
  • Created a project with a businessService to write the queue.
  • The Queue ‘DSLTEST’ created on the Artemis server.

Create JMSServer “Artimis_JMSServer_SOA_1” target it on soa_server1

  • Create JMS Module
  • ArtemisJMSModule
  • Create ForeignServer inside the module

Configure the JNDI connection URL and user the “org.apache.activemq.artemis.jndi.ActiveMQInitialContextFactory” as JNDI initial context Factory.  

Configure destination. Note that the Remote JNDI Name should start with dynamicQueue/<queuename>

Create a connection factory as Remote JNDI Name ‘QueueConnectionFactory’


Subdeployment should be like:  

Create a BusinessServer to write the queue

Create an oracle SB Proxy to read from the queue. The most important is that you use a ServiceAccount to authenticate the user.

Any Question? drop me a message

Build OSB 12c sbar file with Maven

If you want to have build and deployment of Oracle Service Bus 12c (OSB12c) projects with Maven, you need to follow the below steps. I have tested this myself and it works. I you have any question, just drop me a message.

download maven and unzip it into /data/app/maven/apache-maven-3.5.4

set environment variables in you active session.

export JAVA_HOME=/data/app/java/jdk1.8.0_112
export MVN_HOME=/data/app/maven/apache-maven-3.5.4/bin
export M2_HOME=/data/appdata/.m12c

#Specifiek voor Maven build
export ORACLE_HOME=/data/appdata/oracle/Middleware12/Oracle_Home
export MW_HOME=/data/appdata/oracle/Middleware12/Oracle_Home

# Path settings
export PATH=$PATH:$JAVA_HOME:$MVN_HOME:$M2_HOME:$ORACLE_HOME:$MW_HOME

— First you need to add username and password to you setting to be able to download the Oracle plugins for Maven

  • encrypt your Oracle Single Sign On password with:
    • mvn –encrypt-master-password <yourpassword>
  • create file: ‘settings-security.xml’, put it in you maven home folder  ~/.m2/settings-security.xml

<?xml version=”1.0″ encoding=”UTF-8″?>
<settingsSecurity>
<master>{kIKJHkl098JJkjhhkjhkhkhkyiqy+8LKkkjIIhQW=}</master>
</settingsSecurity>

  • encrypt your Oracle Single Sign On password again , this time with:
    • mvn –encrypt-password <yourpassword>
  • Add this password to your  ‘settings.xml’ file as follows, it the file is not there just run any maven command to generate it. this will be generated in your Maven home folder ~/.m2/

Add this to your servers tag

<server>
<id>maven.oracle.com</id>
<username>dalibor.blazevic@sysco.no</username>
<password>{8Khsakjfh/OIUKJHKJHKDHKHJKJHkjhkhjkk=}</password>
<configuration>
<basicAuthScope>
<host>ANY</host>
<port>ANY</port>
<realm>OAM 11g</realm>
</basicAuthScope>
<httpConfiguration>
<all>
<params>
<property>
<name>http.protocol.allow-circular-redirects</name>
<value>%b,true</value>
</property>
</params>
</all>
</httpConfiguration>
</configuration>
</server>

Now you can start installing maven libs.

— install Maven libs into oracle_home
— go to /data/appdata/oracle/Middleware12/Oracle_Home/oracle_common/plugins/maven/com/oracle/maven/oracle-maven-sync/12.2.1

mvn install:install-file -DpomFile=oracle-maven-sync-12.2.1.pom -Dfile=oracle-maven-sync-12.2.1.jar

— Deploy all libs
mvn com.oracle.maven:oracle-maven-sync:push -DoracleHome=/data/appdata/oracle/Middleware12/Oracle_Home

— to validate the imports Go to oracle_home
mvn help:describe -DgroupId=com.oracle.servicebus.plugin -DartifactId=oracle-servicebus-plugin -Dversion=12.2.1

— go to C:\oracle\Middleware12\oracle_common\plugins\maven\com\oracle\maven\oracle-maven-sync\12.2.1
mvn archetype:crawl -Dcatalog=/data/appdata/.m12c/archetype-catalog.xml

 

— Go to the project dir and:

— build with
mvn package

— deploy with

mvn clean install

NOTE: when you want to deploy, you need to have server info in your project POM file.