Skip to main content

路 One min read

I was discussing with a friend about the creation of a monitoring dashboard in HTML. As any monitoring tool you want to be able to see the information in real-time, so you need to refresh the content....

One way of doing it is to refresh the whole page and this is easy, just use the meta tag: <META HTTP-EQUIV="Refresh" CONTENT="5; URL=" > where 5 is the number of seconds between each refresh.

Javascript allows you to easily refresh a specific image of your page (a chart for example):

<img src="myChartServlet" name="chart1"/><script language="JavaScript">  function loadImage() {    var now = new Date();    if (document.images) {      document.images.chart1.src = 'myChartServlet?time='+now.getTime(); // add the time to avoid caching    }    setTimeout('loadImage()',1000);  }  setTimeout('loadImage()',1000);</script>

You can obviously make the whole think dynamic and configurable...

路 One min read

Mike Keith,architect for Oracle Containers for J2EE (OC4J) and TopLink products and currently represents Oracle in the EJB 3.0 expert group, has published an interesting article about Annotations in Java 5.0:.

To Annotate or Not? focused on the usage of Annotation or XML as metadata language. Mike provides sample code and explain the pros and cons of the annotation using use cases.

路 One min read

Ronaldo Viscuso has just released a new version of his DHTML Menu Portlet. This portlet generates a DHTML menu for site navigation, with links to pages and subpages from a selected page group.

Stylesheet, height, width, mouse-over behavior, etc. are all configurable via the "Edit Defaults" page, which allows for complete customization for pretty much any desired look & feel....

The portlet, screen shots and installation document are available on the Portal Knowledge Exchange.

路 One min read

An Oracle Application Server (OracleAS) Provider for Jive Forums is now available to download from the Portal Integration Solutions page on OTN.

The Oracle Application Server (OracleAS) Provider for Jive Forums contains portlets that allow users and administrators to:

  • View topics posted on their favorite forums
  • Create a new topic or post a reply to one
  • Search the forums
  • View the hot topics across all forums
  • View all topics, forums, categories and users being watched by the user
  • View top reward points earners
  • Administer the Jive Forums Application

路 One min read

I am starting to use A great way to manage your own bookmarks but also to share them with others...

It is fun to see how many people are sharing the same bookmarks as you, and help you to find information related to the different categories...

Also the integration with Firefox using the delicious plugin make the usage of the bookmark manager very easy. You can also use the Apple Mac OS X client for

Here my bookmarks... still working on it.

路 3 min read

Responding to a customer question about Blob insertion in Oracle 10g DB using the JDBC 3.0 driver. Very Simple application. Download Java Source See insertBlob method.

package demo;
import java.sql.*;import*;import java.sql.PreparedStatement;import java.util.*;
import oracle.jdbc.driver.*;import oracle.sql.BLOB;

/*** Insert record in the MEDIA table*   MEDIA (file_name varchar2(256), file_content BLOB);*/public class BlobOracle{  private final static String hostname = "localhost";  private final static String port = "1521";  private final static String sid = "ORCL";  private final static String username = "scott";  private final static String password = "tiger";  private static String fileLocation;  private static Connection connection;
  public BlobOracle()  {  }
  /**  *  * @param args  */  public static void main(String[] args)  {    try    {      if (args.length == 0)      {        System.out.println("\n\n  Usage demo.BlobOracle ");        System.exit(0);      }
      fileLocation = args[0];
      setConnection();      insertBLOB();
    } catch (Exception ex)    {      ex.printStackTrace();      } finally      {      }    }

    private static void setConnection() throws SQLException    {      DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());      connection = DriverManager.getConnection("jdbc:oracle:thin:@"+hostname+ ":"+ port +":"+ sid , username , password);      connection.setAutoCommit(false); // we must control the commit    }
    private static void insertBLOB() throws SQLException, Exception    {      BLOB blob;      File file ;      FileInputStream is;      OutputStream os;
      long ts1 = System.currentTimeMillis();

      //Create a statement.      PreparedStatement pstmt = connection.prepareStatement("insert into media (file_name, file_content) values (?,empty_blob())");      file = new File(fileLocation);      String fileName = file.getName();      //Set the file name and execute the query      pstmt.setString(1, fileName);      pstmt.execute();
      //Take back the record for update (we will insert the blob)      //supposely the file name is the PK      pstmt = connection.prepareStatement("select file_content from media where file_name = ? for update");      pstmt.setString(1, fileName);
      //Execute the query, and we must have one record so take it      ResultSet rset = pstmt.executeQuery();;
      //Use the OracleDriver resultset, we take the blob locator      blob = ((OracleResultSet)rset).getBLOB("file_content");
      is = new FileInputStream(file); //Create a stream from the file      // JDBC 2.0      //os = blob.getBinaryOutputStream(); //get the output stream from the Blob to insert it      // JDBC 3.0      os = blob.setBinaryStream(0); //get the output stream from the Blob to insert it
      //Read the file by chuncks and insert them in the Blob. The chunk size come from the blob      byte[] chunk = new byte[blob.getChunkSize()];      int i=-1;      System.out.println("Inserting the Blob");      while((i =!=-1)      {        os.write(chunk,0,i); //Write the chunk        System.out.print('.'); // print progression      }
      // When done close the streams      is.close();      os.close();
      //Close the statement and commit      pstmt.close();      long ts2 = System.currentTimeMillis();
      connection.commit();      connection.close();
      System.out.println("\n"+ (ts2 - ts1) +" ms" );