|
The JRE will load JNI without problem.
I strongly suspect that your problem is as follows.
1 - You have inadequate error detection.
2 - You are loading the JNI via a static block. The JNI load fails which causes an exception. That by the way means that the class will also fail to load.
Other possibility is that the JNI code is throwing an exception. JNI code that throws system exceptions will cause the VM to exit.
Because of the exception and perhaps because of the class load failure, your application is getting an uncaught exception which causes the 'main' to exit. That means that the JRE exits.
For JNI
ALWAYS, load the class in a try catch block
ALWAYS, catch 'Throwable' (not Exception, not Runtime)
ALWAYS, log/print the exception stack trace. Not the message - the entire stack trace.
ALWAYS, do the above (catch, log) any method call that goes to a JNI method.
Note that the following loads the class. You should NOT have code like this in your main entry class. DO NOT attempt to load the class this way using another class either.
class MyClass
{
private MyJNIClass somevar
...
Instead use a Interface and have a method and that method does a 'new' for your JNI class.
class MyJNIClass implements MyJNIInterface {...}
interface MyJNIInterface {}
class MyClass
{
MyJNIInterface var;
public void setup()
{
try
{
var = new MyJNIClass();
}
catch(Throwable e)
{
// Log/print the stack trace
// Figure out what to do if it fails.
}
}
My last recommendation - do not use JNI.
If you want to access some other language
1. Create an executable with an IO Interface. IO interface would be via stdin/out, sockets, files, etc.
2. Create an API in your java app that runs 1, and uses the IO interface to talk to it.
The above solution means that failures in the other code cannot cause your VM to exit. The is NO way to stop this. That is why I recommend the above.
|
|
|
|
|
When I am running apache servicemix. I am getting this Error
Caused by: java.lang.OutOfMemoryError: Java heap space . Is there a way to increase the java heap size for opensuse11.
Full Error
<pre>08:04:06,029 | ERROR | ADS.MANUALSTART] | ads | 91 - org.apache.camel.camel-core - 2.8.5 | Exchange[
, Id:ID-linux-1q9s-8486-1533729523726-0-3
, ExchangePattern:InOnly
, Properties:{CamelToEndpoint=log:
, Headers:{JMS_IBM_PutDate=20180814, JMSDestination=queue:, BodyType:String
, CaughtExceptionType:org.apache.camel.CamelExecutionException, CaughtExceptionMessage:Exception occurred during execution on the exchange: Exchange[JmsMessage[JmsMessageID: ID:414d5120514949552e4d512e4d414e414c2e6c5b20060c07]], StackTrace:org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[JmsMessage[JmsMessageID: ID:414d5120514949552e4d512e4d414e414c2e6c5b20060c07]]
at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1187)
at org.apache.camel.impl.DefaultExchange.setException(DefaultExchange.java:287)
at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:51)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:116)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:79)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:80)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:116)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:79)
at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:139)
at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:106)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:104)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85)
at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:91)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560)
at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498)
at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2882)
at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:515)
at java.lang.StringBuffer.append(StringBuffer.java:306)
at java.io.StringWriter.write(StringWriter.java:77)
at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:111)
at java.io.BufferedWriter.flush(BufferedWriter.java:235)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.cleanUp(MarshallerImpl.java:334)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:327)
at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:244)
at javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:95)
at de.mt.esb.ecom.ads.AffiliateProcessor.memoryMarshall(AffiliateProcessor.java:179)
at de.mt.esb.ecom.ads.AffiliateProcessor.process(AffiliateProcessor.java:109)
at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:48)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98)
at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89)
at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:90)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:318)
at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:209)
at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:306)
at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:78)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:116)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:79)
]
|
|
|
|
|
|
|
I want java code for hadoop for builting data warehouse.anyone plz help.
|
|
|
|
|
|
How to design fingerprint (gui)and how to implement the codes.
|
|
|
|
|
By researching all the features that your application requires.
|
|
|
|
|
1. Learn basics of java
2. Learn basics of UI work
3. Choose a device to sample fingerprints
4. Learn about the API for that device.
5. Learn about image analysis
6. Learn how to build applications (more complicated that #1.)
7. Put all of the above together.
|
|
|
|
|
Quote: up vote
28
down vote
accepted
You need the fingerprint-gui package, its installation is described at Fingerprint GUI launchpad page and reproduced below:
Add PP and install fingerprint-gui and other required packages
sudo add-apt-repository ppa:fingerprint/fingerprint-gui
sudo apt update
sudo apt install libbsapi policykit-1-fingerprint-gui fingerprint-gui
Log out of your session and log back in.
Launch “Fingerprint GUI” and enrol your fingerprints.
Please note: I've used fingerprint readers on various laptops before, they are not very reliable so make sure you don't configure it to be the only source of authentication. It's best to add it on top of passwords as well or you may get locked out at some point.
|
|
|
|
|
public class BiometricUtils {
public static boolean isBiometricPromptEnabled() {
return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P);
}
public static boolean isSdkVersionSupported() {
return (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M);
}
|
|
|
|
|
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
public class Main
{
public static void main(String[] args)
{
String fileName="winner.csv";
File file = new File(fileName);
try
{
Scanner inputStream = new Scanner(file);
inputStream.next();
while(inputStream.hasNext())
{
System.out.println();
StringTokenizer data = new StringTokenizer(inputStream.next(),",");
while(data.hasMoreTokens())
{
System.out.print(""+data.nextToken());
}
}
inputStream.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
}
|
|
|
|
|
|
Hi all,
I know its slightly broad topic, but I struggle to code everyday... Like I would practice coding like 2 days in a row then suddenly I stop. This is honestly making it hard for me to get better at coding.
Any tips etc, my first step was to sign up to this forum so I can communicate with coders more often.
Thanks !
|
|
|
|
|
|
Hi, everyone!
On my job I have 2 work options:
1) Join Apache community and start working on one large open source project
pros: deep dive into java core(I've been working on another open source for 1 year already + 4 years in java)
2) Join team to create large microservices platform.
pros: gain experience in microservices with Spring Cloud, Docker, PostgreSql, Netflix framework.
What is the best option you think?
From future best employment perspective.
|
|
|
|
|
If you toss a coin to choose the answer will be just as valid. People here are unlikely to be able to foretell the future.
Choose the option that you will most enjoy working on and go from there.
|
|
|
|
|
Алексей Кузнецов wrote: Join team to create large microservices platform.
This will in general be a more employable skill.
Specialization in one library works well if a company wants that specialization but more want general knowledge instead. Micro-services, if you actually do that end to end, provide a general knowledge of more technologies along with the micro-services idiom itself.
|
|
|
|
|
I have four simple computations in my program. All integer results. I want the output to be right justified but it ain't looking that way.
Right now the 5 underneath the 30 looks like it's being placed between the 3 and the 0 (in the above number 30). The -10 looks like it is being correctly right justified. The -10 looks like it is being correctly right justified with the 30. And the 200 takes up the maximum field width of 3 which I have set.
My output has a ragged right appearance so I don't know where I'm going wrong.
My code looks like this:
public class FormattingOutput
{
public static void main(String args[])
{
int a, b, c, d;
a = 10 + 20;
b = 10 - 5;
c = 10 - 20;
d = 10 * 20;
System.out.printf("%3d%n", a);
System.out.printf("%3d%n", b);
System.out.printf("%3d%n", c);
System.out.printf("%3d", d);
}
}
|
|
|
|
|
I know now. You have to use a fixed width font in your console. I wasn't.
|
|
|
|
|
Your output sentence is wrong.This is JAVA ,is not C.
|
|
|
|
|
I have a java application that uses jar files Jetty, Jersey, hazelcast, and etc. I am trying to create an uber jar out of it that can : 1- execute using java command 2- can be imported into new project’s class path
I have tried One-Jar, but since it uses a class loader, when the One-Jar is added to a project’s class path in eclipse, eclipse does not recognize the content of the jar files inside the One-Jar.
|
|
|
|
|
You could extract all the files from each jar (see jar -xf) and create a new jar file from those files.
|
|
|
|
|
Member 13909994 wrote: I have tried One-Jar, but since it uses a class loader
If you have a custom class loader (yours or someone elses that you are using) then it seems very likely that you are using it incorrectly in relation to jars if eclipse is not loading the jar (tagging missing dependencies.)
If you are not using a custom class loader then your mention of that is not clear.
|
|
|
|
|
I have tried everything I can think of to get my project to work but I cant figure it out. Does anybody know how to solve this project:
Create an application that uses a graphic interface to capture employee data and
writes that data to a random access output file. The data required for each
employee includes an employee ID number from 1 through 99 inclusive, the first
and last names of the employee, and the employee’s hourly pay rate. Allow the user to enter data one record at a time and to click a button to save each record.
Save the class as CreateRandomEmployeeFile.java.
b. Create an application that allows the user to enter an employee ID number.
When the user clicks a button, display all the stored data for the employee. Save
the file as ReadRandomEmployeeFile.java
Any help will be greatly appreciated. Thank you.
|
|
|
|