|
I managed to find out what the problem was. Using catch Exception wasn't catching the execption, but using what jschell suggested (catch Throwable), I found out that the problem was the DLL files.
With Throwable I was getting dependency exception, so I looked up with "pestudio", and my DLL files, were using debug DLL's that come with Windows SDK not C++ Redistributable.
modified 25-Aug-18 13:31pm.
|
|
|
|
|
Strange then that it worked on my alternate system which does not have JDK or C++ debug libraries. Or maybe that was a release version.
|
|
|
|
|
Well, it was even weirder that it was working with JDK when my DLL files needed those debug C++.
And yeah, if you used my DLL files, and not build them using my code, then it shoudn't have worked. Maybe a program that was installed on that system, added them.
In any case, I'm glad I managed to figure it out, it was getting kinda annoying, having it work on a system, and not another. They need to change that option in Visual Studio, after all I used their "Release" mode, but I had to go in project settings too.
|
|
|
|
|
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.
|
|
|
|