In the previous post, we showed how Listener can use the Java Logging Service to configure where diagnostic information is logged and how it is filtered. We also showed how you can configure the logging service in Standalone Mode using the -Djava.util.logging.config.file JVM option. Configuring logging via the JVM option works perfectly well for Standalone Mode, because in that case Listener is the only application running in the JVM. Conversely using the JVM option does not work so well when using a proper application server like GlassFish or WebLogic, for a couple of reasons:
Read more...
Simple Logging The easiest way to turn logging on in Listener 2.0.1 is to use Oracle SQL Developer to turn on the debug.debugger setting:
Launch SQL Developer Select View|APEX Listener from the main menu Right click on Listener and choose Connect... Choose an existing connection or create a new connection Enter the credentials for the Listener Administrator user In the tree view naviagate to the Listener>Administration>Global Settings>Environment>Error Reporting node. Tick the Show debug messages on the console option.
Read more...
A problem sometimes encountered when using Oracle Application Express Listener, is getting a blank page displayed when attempting to access an Oracle Application Express (APEX) page. For example getting a blank page when trying to display http://server:port/apex/. The cause of this problem is not having the APEX static resources configured properly. This leads to the JavaScript and CSS resources required by APEX not being found, and the APEX page failing to render correctly.
Read more...
Oracle Application Express Listener version 2.0 is now available for download.
This release includes many new features including:
Support for multi tenant/multiple database connections In earlier releases, you could only configure one database connection per listener instance. With Release 2.0, you can configure multiple database connections. See “Configuring Multiple Databases” in the Oracle Application Express Listener Installation and Configuration Guide.
Use Oracle SQL Developer to administer Oracle Application Express Listener Oracle SQL Developer 3.
Read more...
If you’ve got an object that can be represented as a byte[] array, and you want to view the bytes as a hex dump in Eclipse you can use a snippet like the following in a custom Detail Formatter to do so (in this example introspecting a ByteBuffer):
1 new sun.misc.HexDumpEncoder().encode(this.array())
If you get an error message saying: “Unable to process response from…” with the Cisco AnyConnect VPN client on Ubuntu, then the underlying problem is that the client is attempting to use the https_proxy environment variable to resolve the HTTP/S proxy to use. Not sure why exactly this causes a problem but the way to workaround this problem is to unset the https_proxy variable just for the process launching the VPN client.
Read more...
Both Oracle WebLogic and Oracle GlassFish provide mechanisms to mix-in static content located outside a Web Application Archive (WAR). We can leverage these facilities to create a simple WAR that can be used on either WebLogic or GlassFish for serving static content. This provides an easier to use approach for serving Oracle Application Express static resources when using Oracle Application Express Listener, compared to zipping all the Application Express resources into a large WAR.
Read more...
Everyone knows Oracle doesn’t have auto generated columns, so what am I talking about? I really mean columns whose value is generated by a trigger. The most common example being to simulate the auto-generated id columns functionality found in many other databases. In Oracle instead of defining a column as having an auto generated numeric value you have to define a sequence, define an insertion trigger that selects the next sequence value and uses it for the inserted id columns value, something like the following:
Read more...
What is the PermGen? The Permanent Generation (PermGen) Heap is a heap in the JVM dedicated to storing the JVM’s internal representation of Java Classes (and also interned String instances). In the Oracle JVM, the heap is a fixed size, if an attempt is made to load more class instances than will fit in this area then a OutOfMemoryError is thrown, even when there is still plenty of space on the other heaps.
Read more...
JavaScript represents all numbers internally as 64 bit floating point values (see the ECMAScript spec here). This means JavaScript runtimes are not able to handle integer values larger than 9007199254740992 (2^53).
Note that all the positive and negative integers whose magnitude is no greater than 2^53 are representable in the Number type
Where this often causes problems is when a numeric JSON value is parsed by a JavaScript runtime, and the numeric value was generated by a system that does support 64bit (or larger) integers (e.
Read more...