Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ public boolean buildCoherence() {
copyFolder(APP_DIR + "/" + item, ARCHIVE_SRC_DIR);
}
} catch (IOException ioe) {
getLogger().info("Failed to get the directory " + ARCHIVE_DIR + " ready", ioe);
getLogger().severe("Failed to get the directory " + ARCHIVE_DIR + " ready", ioe);
return false;
}

Expand Down Expand Up @@ -245,7 +245,7 @@ public boolean archiveApp() {
checkDirectory(appDir);
for (String appSrcFile : srcFiles) {
if (appSrcFile.length() > 0) {
getLogger().info("copy {0]} to {1} ", appSrcFile, appDir);
getLogger().info("copy {0} to {1} ", appSrcFile, appDir);
String fileName = appSrcFile.substring(appSrcFile.lastIndexOf("/") + 1);
Files.copy(Paths.get(appSrcFile), Paths.get(appDir + "/" + fileName),
StandardCopyOption.REPLACE_EXISTING);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2006,6 +2006,9 @@ public static V1Service getNamespacedService(String namespace, String serviceNam
* @return node port if service and channel is found, otherwise -1
*/
public static int getServiceNodePort(String namespace, String serviceName, String channelName) {
LoggingFacade logger = getLogger();
logger.info("Retrieving Service NodePort for service [{0}] in namespace [{1}] for channel [{2}]",
serviceName, namespace, channelName);
V1Service service = getNamespacedService(namespace, serviceName);
if (service != null) {
V1ServicePort port = service.getSpec().getPorts().stream().filter(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2050,7 +2050,7 @@ public static String createImageAndVerify(String imageNameBase,
boolean buildCoherence = false;

for (String appSrcDir : appSrcDirList) {
if (appSrcDir.contains(".war") || appSrcDir.contains(".ear")) {
if (appSrcDir.contains(".war") || appSrcDir.contains(".ear") || appSrcDir.contains(".jar")) {
//remove from build
buildAppDirList.remove(appSrcDir);
archiveAppsList.add(appSrcDir);
Expand Down
19 changes: 10 additions & 9 deletions integration-tests/src/test/resources/apps/cdtservlet/build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<property name="app" value="cdttxservlet" />

<path id="build.classpath">
<pathelement path="${env.ORACLE_HOME}/wlserver/server/lib/weblogic.jar"/>
<pathelement path="${env.ORACLE_HOME}/wlserver/server/lib/weblogic.jar"/>
</path>

<target name="build">
Expand All @@ -24,15 +24,16 @@
<mkdir dir="${builddir}" />
<delete dir="${tempdir}" quiet="true" />
<mkdir dir="${tempdir}" />
<mkdir dir="${tempdir}/WEB-INF"/>
<mkdir dir="${tempdir}/WEB-INF/classes"/>
<javac debug="${javac.debug}" srcdir="src"
destdir="${tempdir}/WEB-INF/classes">
destdir="${tempdir}">
<classpath refid="build.classpath"/>
</javac>
<copy file="descriptors/web.xml"
tofile="${tempdir}/WEB-INF/web.xml"/>
<jar destfile="${builddir}/${app}.war" basedir="${tempdir}" />
<delete dir="${tempdir}" quiet="true" />

<war destfile="${builddir}/${app}.war" needxmlfile="no">
<classes dir="${tempdir}"/>
<zipfileset dir="src/application"
includes="CdtTxServlet.java" prefix="src/application"/>
</war>
<delete dir="${tempdir}" quiet="true" />
</target>
</project>
</project>

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,15 @@
import weblogic.transaction.TransactionHelper;
import weblogic.transaction.TransactionManager;

import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.*;

import static java.lang.Thread.sleep;

@WebServlet(name="cdttxservlet", urlPatterns={"/cdttxservlet"},
initParams={ @WebInitParam(name="simpleParam", value="paramValue") } )

public class CdtTxServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private TransactionManager tm = (TransactionManager)
Expand Down
38 changes: 38 additions & 0 deletions integration-tests/src/test/resources/apps/jmsservlet/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<!-- Copyright (c) 2021, Oracle and/or its affiliates.
Licensed under the Universal Permissive License v 1.0 as shown at
https://oss.oracle.com/licenses/upl.-->

<project name="jmsservlet" default="build">
<description>
ant script to build the jms servlet to send/receive message
</description>

<dirname file="${ant.file.jmsservlet}" property="jmsservlet.dir" />

<property environment="env" />
<property name="tempdir" location="temp" />
<property name="builddir" location="build" />
<property name="app" value="jmsservlet" />

<path id="build.classpath">
<pathelement path="${env.ORACLE_HOME}/wlserver/server/lib/weblogic.jar"/>
</path>

<target name="build">
<delete dir="${builddir}" quiet="true" />
<sleep seconds="2"/>
<mkdir dir="${builddir}" />
<delete dir="${tempdir}" quiet="true" />
<mkdir dir="${tempdir}" />
<javac debug="${javac.debug}" srcdir="src"
destdir="${tempdir}">
<classpath refid="build.classpath"/>
</javac>
<war destfile="${builddir}/${app}.war" needxmlfile="no">
<classes dir="${tempdir}"/>
<zipfileset dir="src/application"
includes="JmsTestServlet.java" prefix="src/application"/>
</war>
<delete dir="${tempdir}" quiet="true" />
</target>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
// Copyright (c) 2021, Oracle and/or its affiliates.
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.

package application;

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.annotation.WebInitParam;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServlet;
import java.text.SimpleDateFormat;
import java.text.DateFormat;

import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import javax.jms.ConnectionFactory;
import javax.jms.Destination;
import javax.jms.JMSConsumer;
import javax.jms.JMSContext;
import javax.jms.JMSException;
import javax.jms.JMSProducer;
import javax.jms.MessageConsumer;
import javax.jms.JMSRuntimeException;
import javax.jms.Message;

import javax.transaction.UserTransaction;
import weblogic.transaction.TransactionHelper;

@WebServlet(name="JmsServlet", urlPatterns={"/jmstest"},
initParams={ @WebInitParam(name="simpleParam", value="paramValue") } )

public class JmsServlet extends HttpServlet {

protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
String action = "";
String destination = "";
String cfactory = "weblogic.jms.ConnectionFactory";
String url = "t3://localhost:7001";
String host = "localhost";
String port = "7001";
int scount = 10;
int rcount = 20;

DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
java.util.Date date = new java.util.Date();

try {

action = request.getParameter("action");
out.println("Action ["+action+"]");

destination = request.getParameter("dest");
out.println("Destination ["+destination+"]");

if (request.getParameter("host") != null )
host = request.getParameter("host");

if (request.getParameter("port") != null )
port = request.getParameter("port");

url = "t3://"+host+":"+port;

// Override if url parameter is provided
if (request.getParameter("url") != null )
url = request.getParameter("url");

out.println("Url ["+url+"]");

if (request.getParameter("cf") != null )
cfactory = request.getParameter("cf");

out.println("ConnectionFactory ["+cfactory+"]");

if (request.getParameter("scount") != null )
scount = Integer.parseInt(request.getParameter("scount"));

if (request.getParameter("rcount") != null )
scount = Integer.parseInt(request.getParameter("rcount"));

Hashtable h = new Hashtable();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL,url);
h.put(Context.SECURITY_PRINCIPAL, "weblogic");
h.put(Context.SECURITY_CREDENTIALS, "welcome1");
Context cxt = null;
cxt = new InitialContext(h);
out.println("Got Initial Context from " + url);
Destination d = (Destination)cxt.lookup(destination);
out.println("Destination Lookup Successful ");
ConnectionFactory qcf= (ConnectionFactory)cxt.lookup(cfactory);
out.println("ConnectionFactory Lookup Successful");

JMSContext context = qcf.createContext();

if ( action.equals("send") ) {
out.println("Sending ("+scount+") message to ["+destination+"]");
String msg = "["+dateFormat.format(date)+"] Welcome to WebLogic Kubenates Operator";
for ( int i=0; i<scount; i++)
context.createProducer().send(d,msg);
out.println("["+dateFormat.format(date)+"] Sent ("+scount+") message to ["+destination+"]");
} else if ( action.equals("receive") ) {
out.println("Receiving message from ["+destination+"]");
Message msg=null;
int count = 0;
int s1count=0;
int s2count=0;
JMSConsumer consumer = (JMSConsumer) context.createConsumer(d);
do {
// msg = consumer.receiveNoWait();
msg = consumer.receive(5000);
if ( msg != null ) {
// out.println("message content ["+msg.getBody(String.class)+"]");
if (msg.getBody(String.class).contains("managed-server1"))
s1count++;
if (msg.getBody(String.class).contains("managed-server2"))
s2count++;
count++;
}
} while( msg != null);

out.println("Found ("+s1count+") message from [managed-server1]");
out.println("Found ("+s2count+") message from [managed-server2]");

if ( count == rcount ) {
out.println("Drained ("+count+") message from ["+destination+"]");

if ( s1count == s2count )
out.println("Messages are distributed across MDB instances");
else
out.println("Messages are NOT distributed across MDB instances");

} else {
out.println("Found ("+count+") message on ["+destination+"] instead of ["+rcount+"]");
}
}

} catch (Exception e) {
out.println("Send/Receive FAILED with Unknown Exception " + e);
e.printStackTrace();
if (e instanceof JMSException)
if (((JMSException)e).getLinkedException() != null)
((JMSException)e).getLinkedException().printStackTrace();
} finally {
out.close();
}

}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request,response);
}
}
36 changes: 36 additions & 0 deletions integration-tests/src/test/resources/apps/mdbtopic/build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!-- Copyright (c) 2021, Oracle and/or its affiliates.
Licensed under the Universal Permissive License v 1.0 as shown at
https://oss.oracle.com/licenses/upl.-->

<project name="mdbtopic" default="build">
<description>
ant script to build the cdttx servlet
</description>

<dirname file="${ant.file.mdbtopic}" property="mdbtopic.dir" />

<property environment="env" />
<property name="tempdir" location="temp" />
<property name="builddir" location="build" />
<property name="app" value="mdbtopic" />

<path id="build.classpath">
<pathelement path="${env.ORACLE_HOME}/wlserver/server/lib/weblogic.jar"/>
</path>

<target name="build">
<delete dir="${builddir}" quiet="true" />
<sleep seconds="2"/>
<mkdir dir="${builddir}" />
<delete dir="${tempdir}" quiet="true" />
<mkdir dir="${tempdir}" />
<javac debug="${javac.debug}" srcdir="src" destdir="${tempdir}">
<classpath refid="build.classpath"/>
</javac>
<jar destfile="${builddir}/${app}.jar" basedir="${tempdir}" >
<zipfileset dir="src/application"
includes="MdbTopic.java" prefix="src/application"/>
</jar>
<delete dir="${tempdir}" quiet="true" />
</target>
</project>
Loading