On Installs and Updates of SQL Developer

As we get nearer to releasing our next update for Oracle SQL Developer, there are a few FAQ’s I’d like to answer.

When IS version 4.1 going to be available?

Soon.

Will there be a Windows download available that includes a JDK?

Yes, there will be a 64-bit bundle available.

Why are you making us run Java 8?

Because Java 6 and 7 are old, and Java (more...)

Exposing JMS queues and topics with a JAX-WS webservice

Everyone can do HTTP calls and thus call most webservices. Interfacing with JMS queues or topics though is a bit more difficult (when not using Oracle SOA Suite). An alternative is using custom code. This usually requires libraries, JNDI lookups, opening connections and such. Because I wanted to make it easy for myself to put stuff on queues and topics, I created a simple JAX-WS wrapper service. By using this service, JMS suddenly becomes a (more...)

Access Denied when logging in to OSB 12c console

The Oracle SOA Suite 12c quick start is an excellent way to get started with all the new features of 12c. I imagine it must be frustrating when you log in to http://localhost:7101/servicebus and are confronted with an 401 – Access Denied error message. Rest assured, there is nothing wrong with your credential configuration. The cause is likely much more simple; you use the wrong Java version.

Although the certification matrix for FMW 12.1. (more...)

Quick and dirty test for thread leakage in java

I was looking at a bit of code was leaking class loaders when deployed to tomcat - so I wanted to quick rule out that a background Thread was holding onto the loader. Pain by eye, it is quite easy with a few unix commands to process the stack trace, filter for the lines that contain the thread name, filter for just the thread names and sort:
sudo -u tomcat jstack 1853 | grep "  (more...)

A JavaFX 8 Stock Ticker application

Since Java SE 7, update 6 , JavaFX is part of the Java SE, it is officially replacing Swing as Oracle’s UI library for Java, and it runs on (any) desktop, mobile, and within the browser (applet). Java SE 7 includes version JavaFX 2.2, Java SE 8 includes JavaFX8, the version we will use here.

In this blog, I would like to demonstrate how to create a simple stock ticker, written in JavaFX. Data will be fetched (more...)

So you’ve dumped 150 GiB of JVM heap, now what?

150 GiB worth of JVM heap dump is laying on hard drive and I need analyze specific problem detected in that process.

This is a dump of proprietary hybrid of in-memory RDBMS and CEP system, I'm responsible for. All data are stored in Java heap, so heap size of some installation is huge (400 GiB heap is largest to the date).

Problem of analyzing huge heap dumps were on my radar for some time, so (more...)

Découverte : Java Cloud Service Workshop


Marcus Lagergren 20 years of Java In Review

We know each other since some years now. And I am very very pleased to see, that we finally could make it happen to have him speaking at JavaLand as a Keynoter. And what would be better for a JVM veteran than talking about this years anniversary: Happy Birthday Java!
Thank you Marcus, for taking the time!

I am looking forward to a beer or two at JavaLand! Follow his rumblings about dynamic languages on (more...)

Binary search – is it still most optimal?

If you have a sorted collection of elements, how would you find index of specific value?
"Binary search" is likely to be your answer.
Algorithms theory is teaching us what binary search is most optimal algorithm for this task with log(N) complexity.
Well, hash table can do better, if you need to find key by exact match. In many cases, though, you have reasons to have your collection sorted, not hashed.

On my job, I'm (more...)

Moving My Beers From Couchbase to MongoDB

See it on my new blog : here Few days ago I have posted a joke on Twitter Moving my Java from Couchbase to MongoDB pic.twitter.com/Wnn3pXfMGi — Tugdual Grall (@tgrall) January 26, 2015 So I decided to move it from a simple picture to a real project. Let’s look at the two phases of this so called project: Moving the data from Couchbase to MongoDB Updating the application code to use

JDeveloper Debugging Tips (Watchpoints & Beep)

In a previous blog post I talked about scoping breakpoints for debugging purposes, next to scoping breakpoints JDeveloper has more interesting debugging features to offer.

I created a simple example to show both the watchpoint as well as the beep functionality. To illustrate this, I created a page with an inputText and a button, both bound to a backingBean. 

This  is the jsf code:
 



The code from the bean is also pretty straight forward:
    (more...)

But that’s impossible, or finding out that the JIT has broken your code.

Every now and then you look at some code and think that it cannot be possibly be wrong. Once you have ruled out a simple programmer screw up / enemy action in code (Make sure you read Java Puzzlers or similar) or a concurrency issue (Read Java Concurrency or go on Dr Heniz excellent course) you should sit back and take a few days and then starting thinking about whether the JDK is indeed (more...)

Oracle Event Processing 12c: java errors when deploying a new OEP project

Sometimes when you create a new OEP project in JDeveloper 12c and you deploy it for the first time, you might get a list of java errors. They might look a bit like this:


Exception in thread "SpringOsgiExtenderThread-118" org.springframework.beans.Fat
alBeanException: Error in context lifecycle initialization; nested exception is
com.bea.wlevs.ede.api.ConfigurationException:
Invalid statement: "select S.properties as properties,
>>cast<<@java(S.javaContent, com.oracle.oep.FraudCheckRequest.class).getOrde
rNumber() as orderNumber,
cast@java(S.javaContent, com.oracle.oep.FraudCheckRequest.class).getEmail()
as email,
cast@java(S.javaContent, com.oracle.oep.FraudCheckRequest.class).getTotalAmo
unt() as totalAmount
from ednInputChannel as S"
Description: Invalid call to function or constructor: cast
Cause: Probable causes are: Probable causes are: There is no symbol named com, o
r Attribute name com is invalid for STREAM or RELATION or VIEW., or Types com.or
acle.oep.FraudCheckRequest.class and com.oracle.oep.FraudCheckRequest not found
when referencing constructor or static method.., or Error while handling member
access to complex type. Constructor cast of type cast not found. or Probable cau
ses are: Probable causes are: There is no symbol named com, or Attribute name co
m is invalid for STREAM or RELATION or VIEW., or Types com.oracle.oep.FraudCheck
Request.class and com.oracle.oep.FraudCheckRequest not found when referencing co
nstructor or static method.., or Error while handling member access to complex t
ype. Constructor cast of type cast not found...
Action: Verify function or constructor for complex type exists, is not ambiguous
, and has the correct number of parameters.
at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(A
pplicationContextLifecycle.java:146)
at org.springframework.context.event.SimpleApplicationEventMulticaster.m
ulticastEvent(SimpleApplicationEventMulticaster.java:97)
at org.springframework.context.support.AbstractApplicationContext.publis
hEvent(AbstractApplicationContext.java:324)
at org.springframework.context.support.AbstractApplicationContext.finish
Refresh(AbstractApplicationContext.java:929)
at org.springframework.osgi.context.support.AbstractOsgiBundleApplicatio
nContext.finishRefresh(AbstractOsgiBundleApplicationContext.java:235)
at org.springframework.osgi.context.support.AbstractDelegatedExecutionAp
plicationContext$4.run(AbstractDelegatedExecutionApplicationContext.java:358)
at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCus
tomTCCL(PrivilegedUtils.java:85)
at org.springframework.osgi.context.support.AbstractDelegatedExecutionAp
plicationContext.completeRefresh(AbstractDelegatedExecutionApplicationContext.ja
va:320)
at org.springframework.osgi.extender.internal.dependencies.startup.Depen
dencyWaiterApplicationContextExecutor$CompleteRefreshTask.run(DependencyWaiterAp
plicationContextExecutor.java:136)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.bea.wlevs.ede.api.ConfigurationException:
Invalid statement: "select S.properties as properties,
>>cast<<@java(S.javaContent, com.oracle.oep.FraudCheckRequest.class).getOrde
rNumber() as orderNumber,
cast@java(S.javaContent, com.oracle.oep.FraudCheckRequest.class).getEmail()
as email,
cast@java(S.javaContent, com.oracle.oep.FraudCheckRequest.class).getTotalAmo
unt() as totalAmount
from ednInputChannel as S"
Description: Invalid call to function or constructor: cast
Cause: Probable causes are: Probable causes are: There is no symbol named com, o
r Attribute name com is invalid for STREAM or RELATION or VIEW., or Types com.or
acle.oep.FraudCheckRequest.class and com.oracle.oep.FraudCheckRequest not found
when referencing constructor or static method.., or Error while handling member
access to complex type. Constructor cast of type cast not found. or Probable cau
ses are: Probable causes are: There is no symbol named com, or Attribute name co
m is invalid for STREAM or RELATION or VIEW., or Types com.oracle.oep.FraudCheck
Request.class and com.oracle.oep.FraudCheckRequest not found when referencing co
nstructor or static method.., or Error while handling member access to complex t
ype. Constructor cast of type cast not found...
Action: Verify function or constructor for complex type exists, is not ambiguous
, and has the correct number of parameters.
at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.prepare(CQLProcess
orImpl.java:1141)
at com.oracle.cep.processor.cql.impl.CQLProcessorImpl.afterConfiguration
Active(CQLProcessorImpl.java:2788)
at com.bea.wlevs.spring.ActivationBeanPostProcessor.postProcessAfterCont
extInitialization(ActivationBeanPostProcessor.java:20)
at com.bea.wlevs.spring.DeferredBeanPostProcessor.afterConfigurationActi
ve(DeferredBeanPostProcessor.java:27)
at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(A
pplicationContextLifecycle.java:113)
... 9 more

The solution to this is very simple.
Go back to JDeveloper, right-click on the project name and select Rebuild. Afterwards deploy again and the errors will be gone.

This has something to do with the java files not registering correctly in the project. Rebuilding the project will force those java files to be included correctly.

Exciting things happening in Coherence…

I hope everyone is attending/watching JavaOne 2014 tomorrow.   There’s a sneak preview of some cool next generation Coherence with Java 8 in the Java One Technical Keynote

Follow @JavaOneConf and @pinocchiocode to find out more…


Oracle SOA Suite 12c tips – Tuning the SOA infrastructure thread pool

One of the new capabilities of Oracle SOA Suite 12c is the ability to control the SOA infrastructure thread pools, except the resource pools for EDN and the adapters, with Oracle WebLogic Server work managers. Each partition will has its own work managers defined. This allows you to separate services in partitions and, to some extent, tune them separately based on for example specific SLA requirements.

Well, this blog posting is not about explaining the (more...)

Open Source as religion – when the Bazaar becomes a Cathedral

The seminal book on Open Source development "Cathedral and the Bazaar" talks eloquently about the difference between commercial software development and open source development.  In the past few years however there has been another shift, a shift where companies are actively releasing their technology into Open Source as a competitive differentiation.  A claim of 'we are open' because the source

Share your source between projects

Normally we pack functionality into libraries and use this library to share the functionality. However, during development of several JDeveloper Extensions our goal was to have one shared java source between our JDeveloper 11g and JDeveloper 12c extension.
Off course we wanted the ability to easily develop, test, debug and run the extension, but we also want to share the java code to introduce reusability.

We accomplished this, by creating a separated ‘coresrc’ folder and (more...)

Java Cookbook 3rd Edition

Java is a programming language and computing platform. There are lots of applications and websites have used it. About latest Java version, Java 8. Oracle announced Java 8 on March 25, 2014. I mention a book title - Java CookbookJava Cookbook by  Ian F. Darwin and this book covers Java 8.
 It isn't a book for someone who is new (Readers should know a bit about syntax to write Java) in Java, but It is (more...)

The next big wave of IT is Software Development

I can smell a change coming, the last few years have seen cloud and SaaS on the rise and seen a fragmentation in application development (thanks in a large part to the appalling stewardship of Java) and a real focus of budgets around BI and 'vanilla' package approaches.  Now this is a good thing, both because I jumped out of the Java boat onto the BI boat a few years ago but also because its

Software Development Wave 4: back to the package

The end of the next Software Development wave will be when Software development against 'eats itself' as it did with with technologies like Hadoop showing a new value in information, with platforms like SFDC showing new pre-build services, where people like GoodData have turned BI into SaaS.  So we will see the same evolution again and a new generation of commoditisation which drives