ACTIVEMQ6-1 Renaming native and 64/32 bit compilation
This commit is contained in:
parent
9a6ae57d45
commit
08d62dccc0
|
@ -136,7 +136,7 @@ public class AsynchronousFileImpl implements AsynchronousFile
|
||||||
|
|
||||||
static
|
static
|
||||||
{
|
{
|
||||||
String[] libraries = new String[]{"activemqAIO", "activemqAIO64", "activemqAIO32", "activemqAIO_ia64"};
|
String[] libraries = new String[]{"artemis-native", "artemis-native-64", "artemis-native-32"};
|
||||||
|
|
||||||
for (String library : libraries)
|
for (String library : libraries)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,7 +37,7 @@ if you are missing any dependencies, autoconf would tell you what you're missing
|
||||||
|
|
||||||
COMPILED FILE
|
COMPILED FILE
|
||||||
|
|
||||||
The produced file will be under the ./target/nar (example: ./target/nar/activemq-native-6.0.0-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/libactivemq-native-6.0.0.so)
|
The produced file will be under the ./target/nar (example: ./target/nar/artemis-native-6.0.0-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/libartemis-native-6.0.0.so)
|
||||||
and you will have to rename it manually under ./bin following the appropriate pattern.
|
and you will have to rename it manually under ./bin following the appropriate pattern.
|
||||||
|
|
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -56,7 +56,7 @@
|
||||||
<resource>
|
<resource>
|
||||||
<directory>bin/</directory>
|
<directory>bin/</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>libactivemqAIO32.so</include>
|
<include>libartemisAIO32.so</include>
|
||||||
</includes>
|
</includes>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
<resource>
|
<resource>
|
||||||
<directory>bin/</directory>
|
<directory>bin/</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>libactivemqAIO64.so</include>
|
<include>libartemisAIO64.so</include>
|
||||||
</includes>
|
</includes>
|
||||||
</resource>
|
</resource>
|
||||||
</resources>
|
</resources>
|
||||||
|
@ -95,12 +95,6 @@
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
<!-- Not officially released into Central Maven yet,
|
|
||||||
for now you have to download the snapshot with
|
|
||||||
git clone https://github.com/maven-nar/nar-maven-plugin.git
|
|
||||||
cd nar-maven-plugin
|
|
||||||
mvn install
|
|
||||||
-->
|
|
||||||
<groupId>com.github.maven-nar</groupId>
|
<groupId>com.github.maven-nar</groupId>
|
||||||
<artifactId>nar-maven-plugin</artifactId>
|
<artifactId>nar-maven-plugin</artifactId>
|
||||||
<version>3.0.0</version>
|
<version>3.0.0</version>
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <sys/file.h>
|
#include <sys/file.h>
|
||||||
|
|
||||||
#include "org_apache_activemq_core_libaio_Native.h"
|
#include "org_apache_activemq_artemis_core_libaio_Native.h"
|
||||||
|
|
||||||
|
|
||||||
#include "JavaUtilities.h"
|
#include "JavaUtilities.h"
|
||||||
|
@ -52,7 +52,7 @@ inline AIOController * getController(JNIEnv *env, jobject & controllerAddress)
|
||||||
* Method: openFile
|
* Method: openFile
|
||||||
* Signature: (Ljava/lang/String;)I
|
* Signature: (Ljava/lang/String;)I
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jint JNICALL Java_org_apache_activemq_core_libaio_Native_openFile
|
JNIEXPORT jint JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_openFile
|
||||||
(JNIEnv * env , jclass , jstring jstrFileName)
|
(JNIEnv * env , jclass , jstring jstrFileName)
|
||||||
{
|
{
|
||||||
std::string fileName = convertJavaString(env, jstrFileName);
|
std::string fileName = convertJavaString(env, jstrFileName);
|
||||||
|
@ -65,7 +65,7 @@ JNIEXPORT jint JNICALL Java_org_apache_activemq_core_libaio_Native_openFile
|
||||||
* Method: closeFile
|
* Method: closeFile
|
||||||
* Signature: (I)V
|
* Signature: (I)V
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_closeFile
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_closeFile
|
||||||
(JNIEnv * , jclass , jint handle)
|
(JNIEnv * , jclass , jint handle)
|
||||||
{
|
{
|
||||||
close(handle);
|
close(handle);
|
||||||
|
@ -76,7 +76,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_closeFile
|
||||||
* Method: flock
|
* Method: flock
|
||||||
* Signature: (I)Z
|
* Signature: (I)Z
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jboolean JNICALL Java_org_apache_activemq_core_libaio_Native_flock
|
JNIEXPORT jboolean JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_flock
|
||||||
(JNIEnv * , jclass , jint handle)
|
(JNIEnv * , jclass , jint handle)
|
||||||
{
|
{
|
||||||
return flock(handle, LOCK_EX | LOCK_NB) == 0;
|
return flock(handle, LOCK_EX | LOCK_NB) == 0;
|
||||||
|
@ -89,7 +89,7 @@ JNIEXPORT jboolean JNICALL Java_org_apache_activemq_core_libaio_Native_flock
|
||||||
* Method: init
|
* Method: init
|
||||||
* Signature: (Ljava/lang/String;Ljava/lang/Class;)J
|
* Signature: (Ljava/lang/String;Ljava/lang/Class;)J
|
||||||
*/
|
*/
|
||||||
JNIEXPORT jobject JNICALL Java_org_apache_activemq_core_libaio_Native_init
|
JNIEXPORT jobject JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_init
|
||||||
(JNIEnv * env, jclass, jclass controllerClazz, jstring jstrFileName, jint maxIO, jobject logger)
|
(JNIEnv * env, jclass, jclass controllerClazz, jstring jstrFileName, jint maxIO, jobject logger)
|
||||||
{
|
{
|
||||||
AIOController * controller = 0;
|
AIOController * controller = 0;
|
||||||
|
@ -98,14 +98,14 @@ JNIEXPORT jobject JNICALL Java_org_apache_activemq_core_libaio_Native_init
|
||||||
std::string fileName = convertJavaString(env, jstrFileName);
|
std::string fileName = convertJavaString(env, jstrFileName);
|
||||||
|
|
||||||
controller = new AIOController(fileName, (int) maxIO);
|
controller = new AIOController(fileName, (int) maxIO);
|
||||||
controller->done = env->GetMethodID(controllerClazz,"callbackDone","(Lorg/apache/activemq/core/asyncio/AIOCallback;JLjava/nio/ByteBuffer;)V");
|
controller->done = env->GetMethodID(controllerClazz,"callbackDone","(Lorg/apache/activemq/artemis/core/asyncio/AIOCallback;JLjava/nio/ByteBuffer;)V");
|
||||||
if (!controller->done)
|
if (!controller->done)
|
||||||
{
|
{
|
||||||
throwException (env, -1, "can't get callbackDone method");
|
throwException (env, -1, "can't get callbackDone method");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
controller->error = env->GetMethodID(controllerClazz, "callbackError", "(Lorg/apache/activemq/core/asyncio/AIOCallback;JLjava/nio/ByteBuffer;ILjava/lang/String;)V");
|
controller->error = env->GetMethodID(controllerClazz, "callbackError", "(Lorg/apache/activemq/artemis/core/asyncio/AIOCallback;JLjava/nio/ByteBuffer;ILjava/lang/String;)V");
|
||||||
if (!controller->done)
|
if (!controller->done)
|
||||||
{
|
{
|
||||||
throwException (env, -1, "can't get callbackError method");
|
throwException (env, -1, "can't get callbackError method");
|
||||||
|
@ -137,7 +137,7 @@ JNIEXPORT jobject JNICALL Java_org_apache_activemq_core_libaio_Native_init
|
||||||
* objThis here is passed as a parameter at the java layer. It used to be a JNI this and now it's a java static method
|
* objThis here is passed as a parameter at the java layer. It used to be a JNI this and now it's a java static method
|
||||||
where the intended reference is now passed as an argument
|
where the intended reference is now passed as an argument
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_read
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_read
|
||||||
(JNIEnv *env, jclass, jobject objThis, jobject controllerAddress, jlong position, jlong size, jobject jbuffer, jobject callback)
|
(JNIEnv *env, jclass, jobject objThis, jobject controllerAddress, jlong position, jlong size, jobject jbuffer, jobject callback)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -169,7 +169,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_read
|
||||||
|
|
||||||
|
|
||||||
// Fast memset on buffer
|
// Fast memset on buffer
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_resetBuffer
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_resetBuffer
|
||||||
(JNIEnv *env, jclass, jobject jbuffer, jint size)
|
(JNIEnv *env, jclass, jobject jbuffer, jint size)
|
||||||
{
|
{
|
||||||
void * buffer = env->GetDirectBufferAddress(jbuffer);
|
void * buffer = env->GetDirectBufferAddress(jbuffer);
|
||||||
|
@ -184,7 +184,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_resetBuffer
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_destroyBuffer
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_destroyBuffer
|
||||||
(JNIEnv * env, jclass, jobject jbuffer)
|
(JNIEnv * env, jclass, jobject jbuffer)
|
||||||
{
|
{
|
||||||
if (jbuffer == 0)
|
if (jbuffer == 0)
|
||||||
|
@ -196,7 +196,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_destroyBuffer
|
||||||
free(buffer);
|
free(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT jobject JNICALL Java_org_apache_activemq_core_libaio_Native_newNativeBuffer
|
JNIEXPORT jobject JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_newNativeBuffer
|
||||||
(JNIEnv * env, jclass, jlong size)
|
(JNIEnv * env, jclass, jlong size)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -234,7 +234,7 @@ JNIEXPORT jobject JNICALL Java_org_apache_activemq_core_libaio_Native_newNativeB
|
||||||
* objThis here is passed as a parameter at the java layer. It used to be a JNI this and now it's a java static method
|
* objThis here is passed as a parameter at the java layer. It used to be a JNI this and now it's a java static method
|
||||||
where the intended reference is now passed as an argument
|
where the intended reference is now passed as an argument
|
||||||
*/
|
*/
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_write
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_write
|
||||||
(JNIEnv *env, jclass, jobject objThis, jobject controllerAddress, jlong sequence, jlong position, jlong size, jobject jbuffer, jobject callback)
|
(JNIEnv *env, jclass, jobject objThis, jobject controllerAddress, jlong sequence, jlong position, jlong size, jobject jbuffer, jobject callback)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -259,7 +259,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_write
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_writeInternal
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_writeInternal
|
||||||
(JNIEnv * env, jclass, jobject controllerAddress, jlong positionToWrite, jlong size, jobject jbuffer)
|
(JNIEnv * env, jclass, jobject controllerAddress, jlong positionToWrite, jlong size, jobject jbuffer)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -282,7 +282,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_writeInternal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JNIEXPORT void Java_org_apache_activemq_core_libaio_Native_internalPollEvents
|
JNIEXPORT void Java_org_apache_activemq_artemis_core_libaio_Native_internalPollEvents
|
||||||
(JNIEnv *env, jclass, jobject controllerAddress)
|
(JNIEnv *env, jclass, jobject controllerAddress)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -296,7 +296,7 @@ JNIEXPORT void Java_org_apache_activemq_core_libaio_Native_internalPollEvents
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_stopPoller
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_stopPoller
|
||||||
(JNIEnv *env, jclass, jobject controllerAddress)
|
(JNIEnv *env, jclass, jobject controllerAddress)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -310,7 +310,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_stopPoller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_closeInternal
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_closeInternal
|
||||||
(JNIEnv *env, jclass, jobject controllerAddress)
|
(JNIEnv *env, jclass, jobject controllerAddress)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -326,7 +326,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_closeInternal
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_fill
|
JNIEXPORT void JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_fill
|
||||||
(JNIEnv * env, jclass, jobject controllerAddress, jlong position, jint blocks, jlong size, jbyte fillChar)
|
(JNIEnv * env, jclass, jobject controllerAddress, jlong position, jint blocks, jlong size, jbyte fillChar)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -345,7 +345,7 @@ JNIEXPORT void JNICALL Java_org_apache_activemq_core_libaio_Native_fill
|
||||||
|
|
||||||
|
|
||||||
/** It does nothing... just return true to make sure it has all the binary dependencies */
|
/** It does nothing... just return true to make sure it has all the binary dependencies */
|
||||||
JNIEXPORT jint JNICALL Java_org_apache_activemq_core_libaio_Native_getNativeVersion
|
JNIEXPORT jint JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_getNativeVersion
|
||||||
(JNIEnv *, jclass)
|
(JNIEnv *, jclass)
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -353,7 +353,7 @@ JNIEXPORT jint JNICALL Java_org_apache_activemq_core_libaio_Native_getNativeVers
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
JNIEXPORT jlong JNICALL Java_org_apache_activemq_core_libaio_Native_size0
|
JNIEXPORT jlong JNICALL Java_org_apache_activemq_artemis_core_libaio_Native_size0
|
||||||
(JNIEnv * env, jclass, jobject controllerAddress)
|
(JNIEnv * env, jclass, jobject controllerAddress)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -30,7 +30,7 @@ void throwRuntimeException(JNIEnv * env, const char * message)
|
||||||
|
|
||||||
void throwException(JNIEnv * env, const int code, const char * message)
|
void throwException(JNIEnv * env, const int code, const char * message)
|
||||||
{
|
{
|
||||||
jclass exceptionClass = env->FindClass("org/apache/activemq/api/core/ActiveMQException");
|
jclass exceptionClass = env->FindClass("org/apache/activemq/artemis/api/core/ActiveMQException");
|
||||||
if (exceptionClass==NULL)
|
if (exceptionClass==NULL)
|
||||||
{
|
{
|
||||||
std::cerr << "Couldn't throw exception message:= " << message << "\n";
|
std::cerr << "Couldn't throw exception message:= " << message << "\n";
|
||||||
|
|
|
@ -65,25 +65,25 @@ Or on Debian systems:
|
||||||
|
|
||||||
## Invoking the compilation
|
## Invoking the compilation
|
||||||
|
|
||||||
In the source distribution or git clone, in the `activemq-native` directory, execute the shell
|
In the source distribution or git clone, in the `artemis-native` directory, execute the shell
|
||||||
script `compile-native.sh`. This script will invoke the proper maven profile to perform the native build.
|
script `compile-native.sh`. This script will invoke the proper maven profile to perform the native build.
|
||||||
|
|
||||||
someUser@someBox:/checkout-dir/activemq-native$ ./compile-native.sh
|
someUser@someBox:/checkout-dir/artemis-native$ ./compile-native.sh
|
||||||
[INFO] Scanning for projects...
|
[INFO] Scanning for projects...
|
||||||
[INFO]
|
[INFO]
|
||||||
[INFO] ------------------------------------------------------------------------
|
[INFO] ------------------------------------------------------------------------
|
||||||
[INFO] Building ActiveMQ Artemis Native POM 6.0.0
|
[INFO] Building ActiveMQ Artemis Native POM 6.0.0
|
||||||
[INFO] ------------------------------------------------------------------------
|
[INFO] ------------------------------------------------------------------------
|
||||||
[INFO]
|
[INFO]
|
||||||
[INFO] --- nar-maven-plugin:3.0.0:nar-validate (default-nar-validate) @ activemq-native ---
|
[INFO] --- nar-maven-plugin:3.0.0:nar-validate (default-nar-validate) @ artemis-native ---
|
||||||
[INFO] Using AOL: amd64-Linux-gpp
|
[INFO] Using AOL: amd64-Linux-gpp
|
||||||
[INFO]
|
[INFO]
|
||||||
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-java) @ activemq-native ---
|
[INFO] --- maven-enforcer-plugin:1.4:enforce (enforce-java) @ artemis-native ---
|
||||||
...
|
...
|
||||||
|
|
||||||
The produced library will be at
|
The produced library will be at
|
||||||
`./target/nar/activemq-native-RELEASE-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/
|
`./target/nar/artemis-native-RELEASE-amd64-Linux-gpp-jni/lib/amd64-Linux-gpp/jni/
|
||||||
libactivemq-native-RELEASE.so`. Simply move that file over
|
libartemis-native-RELEASE.so`. Simply move that file over
|
||||||
`bin` with the proper rename [library
|
`bin` with the proper rename [library
|
||||||
path](#using-server.library.path).
|
path](#using-server.library.path).
|
||||||
|
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -95,7 +95,7 @@
|
||||||
|
|
||||||
<activemq-surefire-argline>-Djava.util.logging.manager=org.jboss.logmanager.LogManager
|
<activemq-surefire-argline>-Djava.util.logging.manager=org.jboss.logmanager.LogManager
|
||||||
-Dlogging.configuration=file:${activemq.basedir}/tests/config/logging.properties
|
-Dlogging.configuration=file:${activemq.basedir}/tests/config/logging.properties
|
||||||
-Djava.library.path=${activemq.basedir}/activemq-native/bin/ -Djgroups.bind_addr=localhost
|
-Djava.library.path=${activemq.basedir}/artemis-native/bin/ -Djgroups.bind_addr=localhost
|
||||||
-Djava.net.preferIPv4Stack=true
|
-Djava.net.preferIPv4Stack=true
|
||||||
</activemq-surefire-argline>
|
</activemq-surefire-argline>
|
||||||
<activemq.basedir>${project.basedir}</activemq.basedir>
|
<activemq.basedir>${project.basedir}</activemq.basedir>
|
||||||
|
|
Loading…
Reference in New Issue