Java GC in Numbers – Compressed OOPs

Compressed OOPs (OOP – ordinary object pointer) is a technique reducing size of Java object in 64 bit environments. HotSpot wiki has a good article explaining details. Downside of this technique is what address uncompressing is required before accessing memory referenced by compressed OOPs. Instruction set (e.g. x86) may (more...)

How to implement Document Versioning with Couchbase

Introduction Developers are often asking me how to "version" documents with Couchbase 2.0. The short answer is: the clients and server do not expose such feature, but it is quite easy to implement. In this article I will use a basic approach, and you will be able to extend (more...)

SQL to NoSQL : Copy your data from MySQL to Couchbase

TL;DR: Look at the project on Github. Introduction During my last interactions with the Couchbase community, I had the question how can I easily import my data from my current database into Couchbase. And my answer was always the same: Take an ETL such as Talend to do it Just write a (more...)

Java GC in Numbers – Parallel Young Collection

This is a first articles in series, where I would like to study effect of various HotSpot JVM options on duration of STW pauses associated with garbage collection.

This article will study how number of parallel threads affects duration of young collection Stop-the-World pause. HotSpot JVM has several young GC (more...)

Ad-hock diagnostic tools for JVM

There are bunch of graphical tools helping you to look inside of running JVM (VisualVm and JConsole are extremely helpful). Unfortunately, some times (almost always in my case), you may find yourself in SSH console on headless server side by side with your JVM (more...)

About Java class, HTTP POST and viewContentURL

As of PeopleTools 8.52 it is possible to use REST services for POST/GET functionality. However what do you do if you are on an older PeopleTools version, but still need to make a HTTP POST and then GET the response?

Continue reading

Netbeans 7.3 Available

| Feb 25, 2013
Are you a netbeanie?

Is your WebLogic Server slooow? Might be because of low entropy

On Linux low entropy can cause certain operations to be very slow.

SSL operations need entropy to ensure randomness. Entropy is generated by the OS when you use the keyboard, the mouse or the disk.

If an SSL operation is missing entropy it will wait until enough is generated.

If (more...)

Making Eclipse IDE Supports JSF 2.0

| Oct 22, 2012

Autocomplete was not working for JSF tags in my Eclipse. I googled it and finally found the solution on

Thanx Mkyong.

The different thing I did is; I downloaded javax.faces-2.xx.xx.jar and saved in a specific folder. Then I created a user library with this jar. I did not use “jsf-api-xxx.jar and jsf-impl-xxx.jar“.

Separate docs for MySQL Connectors

The MySQL documentation section has always had this Topic Guides page containing links to the docs for the various MySQL Connectors -- the official database drivers for various languages and programming technologies. That is the most convenient way to get the information for each Connector in PDF form, rather than downloading the entire Ref Man PDF. For HTML, it was more of a shortcut, because

Generating an EJB SDO Service Interface for Oracle SOA Suite

In Oracle SOA Suite you can use the EJB adapter as a reference or service in your composite applications. The EJB adapter has a flexible binding integration, there are 3 ways for integrating the remote interface with your composite.

First you have the java interface way which I described here (more...)

Using JDeveloper Maven integration to run Oracle ADF sample in Java cloud

Readers of this blog might already took a notice about one link on a right side, pointing to experimental page with live ADF sample application embedded on it. It looks like I'm not alone to have the idea of live ADF samples in my head. Zeeshan Baig, featured in recent (more...)


I have a permanent job at the NetCracker‘s System Performance group. Recently I was offered to do one day job outside, on-site in another company, which coincidentally has an office close to NetCracker’s Moscow office. It was an opportunity to apply my skills in a completely different situation which I couldn’t miss; plus I’ve never done public presentations before and this was a good occasion to practice that. Here I’d like to write down some notes how the event went.

2 or 3 weeks before the event I’ve got the list of topics to work on. It included several (more...)

Extending the Groovy support in ADF BC

If you have worked with ADF Business Components in ADF 11g, chances are you have used the very powerful Groovy support. Perhaps you used it to create an entity validation rule, as a default value for a (transient) attribute or to calculate the value of a bind variable, etc. As (more...)

Java Debug Problem “Source not found.”

| May 22, 2011

Quick Hint:
When you try to debug java code in eclipse, if you get “Source not found.” error with red letters. Here is the solution:
Down Arrow Icon Next to Debug Icon > Debug Configurations > Classpath Tab > Add Projects to User Entries
Add your project that cannot debug to this location.

Building a database engine of our own. Part One. Connectivity.

Once upon a time (long time ago) I was consulting a small start-up. The nature of their business needed an SQL-like database with some specific features. The choice was between - 1. using an RDBMS for simple data storage and then developing those specific features on top of it, or 2. building an application that [...]

Calling a database procedure with table input and output parameters from Java

In my previous blog post I explained how to call a database procedure using only a few lines of Java code. I already hinted that it is possible to use custom types and tables, etc. Let's see an example of that in more detail.

Database artifacts

Suppose we have the (more...)

Calling an Oracle database procedure from Java with only ONE line of code

About a year ago I was working on an ADF application for one of our clients. One of the problems they faced was that they needed to call a lot of database procedures. It is not very hard to call a database procedure if you are familiar with the JDBC (more...)

Oracle FMW B2B 11g: How to collect HTTP header info from inbound messages using Java Callouts

In Oracle FMW B2B 11g the Java callout functionality makes it possible to add Java hooks to an inbound or oubound message flow. Callouts van be written and configured per agreement or per delivery channel (transport callouts). More info about managing callouts can be found here

In this blog posting, I will show how you how an agreement callout can be used to collect HTTP headers from an inbound message, which is received by the (more...)

Set up a Weblogic Server 11g (10.3.1) JMS Store and Forward demo

Weblogic Server (supported from 9.x) contains JMS Store-and-Forward (JMS SAF) functionality. Basically this functionality makes it possible to receive messages on a specific server instance (proxy), forward the messages to different Weblogic server instances and process them on those 'hidden' instances or forward them again...In case the processing server is unavailable the message will be automatically redelivered when the server is available again..You can think about many use cases in which JMS (more...)