Should may application use RMI?

Here is the client of a news ticker i have produced. i wish to use client/ server to some how update the news items the client displays. At the moment i am 80% into implementing sockets but with further research am now considering RMI. My only problem is that i have around 2 weeks till my deadline so will not pursue this if it is too much work.
i am using a 2d array in the client code that holds he news item title and URL. Would the RMI server hold this array instead and the client ask for this information at fixed intervals?
help would be greatly appreciated.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
public class Test7 extends JFrame
  private JFrame tickerFrame;
  private JPanel tickerpanel,stocktickerpanel;
  private JTextField displayArea;
  //private Socket client;
  //private String NewsServer;
  private ObjectOutputStream output;
  private ObjectInputStream input;
        public Test7 ()
                super("client");
                tickerFrame = new JFrame("Notification Ticker");
                tickerFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                tickerFrame.setSize(new Dimension(100, 100));
                displayArea = new JTextField();
                tickerFrame.getContentPane().add(new JScrollPane( displayArea ), BorderLayout.NORTH );
                tickerFrame.getContentPane().add(new Marquee( getTexts() ), BorderLayout.CENTER);
                tickerFrame.getContentPane().add(new Stock( getStocks() ), BorderLayout.SOUTH);
                tickerFrame.pack();
                tickerFrame.setVisible(true);
                //stocktickerpanel = new JPanel ();
                //stockpanel.setSize (stockpanel.getPreferredSize ());
                //add (stockpanel);
        public String[][] getStocks ()
          return new String[][]
              {"BARC", "+2.1"},
              {"PFC", "0.5"},
              {"HDF", "-3.2"},
              {"DDF", "+3.8"}
        public String[][] getTexts ()
                return new String[][]
                        {"National","This is a national headline", "http://news.bbc.co.uk/1/hi/world/middle_east/3665775.stm"},
                        {"Busines","This is a business headline", "http://news.bbc.co.uk/1/hi/business/3665193.stm"},
                        {"Political","Here is a political headline", "http://news.bbc.co.uk/1/hi/uk_politics/3697675.stm"},
                        {"Enterainment","Entertainment headline here", "http://news.bbc.co.uk/1/hi/entertainment/music/3665545.stm"}
       private class Stock extends JPanel
               private boolean paused;
               public Stock (String[][] stocks)
                        MouseListener listener = new MouseAdapter ()
                                public void mouseEntered (MouseEvent event)
                                        paused = true;
                                public void mouseExited (MouseEvent event)
                                        paused = false;
                        addMouseListener (listener);
                        stocktickerpanel = new JPanel ();
                        stocktickerpanel.addMouseListener (listener);
                        for( int i = 0; i < stocks.length;  i ++ )
                                if( i > 0 )
                                        stocktickerpanel.add (Box.createHorizontalStrut (20));
                                }StockDisp stck = new StockDisp (stocks[0],stocks[i][1]);
stck.addMouseListener (listener);
stocktickerpanel.add (stck);
add (stocktickerpanel);
paused = false;
new Thread (new Runnable ()
public void run ()
while( true )
if( ! paused )
int x = stocktickerpanel.getX () - 1;
if( x < -stocktickerpanel.getWidth () )
x = getWidth ();
stocktickerpanel.setLocation (x, 0);
}try
Thread.sleep (22);
catch( InterruptedException exception )
}).start ();
private class StockDisp extends JLabel
URL url;
public StockDisp (String name, final String price)
setText ("<html><u>"+ name +(" : ") + price + "</u></html>");
setForeground (Color.RED);
addMouseListener (new MouseAdapter ()
private class Marquee extends JPanel
{              //private JPanel panel;
private boolean paused;
public Marquee (String[][] texts)
MouseListener listener = new MouseAdapter ()
public void mouseEntered (MouseEvent event)
paused = true;
setCursor( Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
public void mouseExited (MouseEvent event)
paused = false;
addMouseListener (listener);
tickerpanel = new JPanel ();
tickerpanel.addMouseListener (listener);
for( int i = 0; i < texts.length; i ++ )
if( i > 0 )
tickerpanel.add (Box.createHorizontalStrut (20));
}Link link = new Link (texts[i][0],texts[i][1],texts[i][2]);
link.addMouseListener (listener);
tickerpanel.add (link);
tickerpanel.setLocation (0, 0);
tickerpanel.setSize (tickerpanel.getPreferredSize ());
add (tickerpanel);
paused = false;
new Thread (new Runnable ()
public void run ()
while( true )
if( ! paused )
int x = tickerpanel.getX () - 1;
if( x < -tickerpanel.getWidth () )
x = getWidth ();
tickerpanel.setLocation (x, 0);
}try
Thread.sleep (30);
catch( InterruptedException exception )
}).start ();
public Dimension getPreferredSize ()
Dimension preferredSizeOfPanel = tickerpanel.getPreferredSize ();
return new Dimension (preferredSizeOfPanel.width / 2, preferredSizeOfPanel.height);
private class Link extends JLabel
URL url;
public Link (String type,String text, final String surl)
setText ("<html>"+ type +(" : ") + text + "</html>");
setForeground (Color.BLUE);
addMouseListener (new MouseAdapter ()
public void mouseClicked (MouseEvent event)
{                                   //System.out.println (text);
try
url = new URL( surl );
catch( MalformedURLException e )
//System.out.println (url);
//BrowserControl.displayURL(text);
BrowserControl.displayURL(surl);
private static void createAndShowGUI()
{        //Make sure we have nice window decorations.
JFrame.setDefaultLookAndFeelDecorated(true);
Test7 ticker = new Test7();
//ticker.runClient();
public static void main(String[] args)
//Schedule a job for the event-dispatching thread: //creating and showing this application's GUI.
javax.swing.SwingUtilities.invokeLater(new Runnable()
public void run()
createAndShowGUI();

Yeah, I would say you could use RMI no problem. You might use UDP if you need more speed, but RMI is fine and will gaurantee message delivery. You could just use JMS or messaging I suppose, or even JMX, or other of a million possible solutions.
I guess I'd do it like this:
Central data (network/data model) is on some server.
When data changes on the server, push out to client (multicast if needed?)
How and what you push (the data) depends on how much data needs to be sent and how often

Similar Messages

  • Should I be using RMI

    Hi,
    Two questions really:
    1) Should I be using RMI
    2) If so how much of the program should use RMI
    I am about to start building a database driven application. However, I am unsure whether to make it 2-tier not using RMI or 3-tier using RMI.
    The various different clients all need to add,update and delete things in the database which will be done over JDBC. However, all the clients also need to be notified of certain activities taking place on any of the other clients, for instance if one client adds a record the other clients need to be informed of this.
    I assume that the broadcasting of the these messages to the listening clients would need to be done using RMI or some other distributed systems technology. Is this a correct assumption?
    However, when one of the clients does a query on the database should this be done directly, bypassing the servers. I was thinking this as passing record sets from the database server to the application server and then onto the client applicaiton would result in significant network traffic. Therefore, I assume, that for the other parts of the applicaiton which don't involve the broadcasting of information to all the clients I should just make the database connections within the client programs and connect directly to the database. Is this also a correct assumption?
    Any comments on this would be much appreciated.
    Thanks in advance
    Robert Miles

    Here's the approach that my company took for a database-centered set of applications.
    We wanted multi-user access, and we wanted an object interface, because there is substantial application logic that we preferred to put on the server.
    The design we created uses
    o apiobjects, which are held by clients, and which in turn simply hold references to
    o apiserver objects, which belong to a client session, and which in turn simply hold references to
    o dbobjects, which belong to the system, and represent the database data being used by one or more active clients.
    Note that in this design, RMI is hidden in the apiobjects. It is important, but not to the client, whether or not the apiobject holds real data, or accesses the server and returns the data.
    One other note about this architecture: The data is organized into an object tree. The top of the tree is an "entry" object which the client instantiates and uses to log in; the login returns a "server" object, which is the root for accessing all other objects.
    For event notification we ask the client to define an event manager, and tell the "server" about it. (There are also some fairly extensive filter definition capabilities.) On the server side, and event manager, when told about an event, searches the sessions for managers to be notified, and notifies them by calling a method on the event manager.
    What about other applications accessing the DB? Well we are still discussing this.
    o One consideration I can think of is locking. If all your locking can be convincingly consigned to the DBMS, then maybe you can implement a completely-separate access path.
    o Another consideration - one not necessarily shared by my colleagues - is that the boundaries around applications are not always rigid, and the first time a new application crosses the RMI-vs_other boundary, well you'll have some work to redo.

  • Chat Applet using RMI .... trouble running the Applet using the IE browser.

    Hi,
    I'm trying to run a chat application using RMI technology. Actually, this wasn't created from the scratch. I got this one from from the cd that comes with the book I bought and I did some refinements on it to suit what I wanted to:
    These are the components of the chat application:
    1. RApplet.html - invokes the applet
    html>
    <head>
    <title>Sample Applet Using Dialog Box (1.0.2) - example 1</title>
    </head>
    <body>
    <h1>The Sample Applet</h1>
    <applet code="RApplet.class" width=460 height=160>
    </applet>
    </body>
    </html>
    2. RApplet.java - Chat session client applet.
    import java.rmi.*;
    import java.applet.*;
    import java.awt.event.*;
    import java.awt.*;
    import java.io.*;
    import java.rmi.server.*;
    //import ajp.rmi.*;
    public class RApplet extends Applet implements ActionListener {
    // The buttons
    Button sendButton;
    Button quitButton;
    Button startButton;
    Button clearButton;
    // The Text fields
    TextField nameField;
    TextArea typeArea;
    // The dialog for entering your name
    Dialog nameDialog;
    // The name the server knows us as
    String privateName;
    // The name we want to be known as in the chat session
    String publicName;
    // The remote chats erver
    ChatServer chatServer;
    // The ChatCallback
    ChatCallbackImplementation cCallback;
    // The main Chat window and its panels
    Frame mainFrame;
    Panel center;
    Panel south;
    public void init() {
    // Create class that implements ChatCallback.
    cCallback = new ChatCallbackImplementation();
         // Create the main Chat frame.
         mainFrame = new Frame("Chat Server on : " +
                        getCodeBase().getHost());
         mainFrame.setSize(new Dimension(600, 600));
         cCallback.displayArea = new TextArea();
         cCallback.displayArea.setEditable(false);
         typeArea = new TextArea();
         sendButton = new Button("Send");
         quitButton = new Button("Quit");
         clearButton = new Button("Clear");
         // Add the applet as a listener to the button events.
         clearButton.addActionListener(this);
         sendButton.addActionListener(this);
         quitButton.addActionListener(this);
         center = new Panel();
         center.setLayout(new GridLayout(2, 1));
         center.add(cCallback.displayArea);
         center.add(typeArea);
         south = new Panel();
         south.setLayout(new GridLayout(1, 3));
         south.add(sendButton);
         south.add(quitButton);
         south.add(clearButton);
         mainFrame.add("Center", center);
         mainFrame.add("South", south);
         center.setEnabled(false);
         south.setEnabled(false);
         mainFrame.show();
         // Create the login dialog.
         nameDialog = new Dialog(mainFrame, "Enter Name to Logon: ");
         startButton = new Button("Logon");
         startButton.addActionListener(this);
         nameField = new TextField();
         nameDialog.add("Center", nameField);
         nameDialog.add("South", startButton);
         try {
         // Export ourselves as a ChatCallback to the server.
         UnicastRemoteObject.exportObject(cCallback);
         // Get the remote handle to the server.
         chatServer = (ChatServer)Naming.lookup("//" + "WW7203052W2K" +
                                  "/ChatServer");
         catch(Exception e) {
         e.printStackTrace();
         nameDialog.setSize(new Dimension(200, 200));
         nameDialog.show();
    * Handle the button events.
    public void actionPerformed(ActionEvent e) {
         if (e.getSource().equals(startButton)) {
         try {
              nameDialog.setVisible(false);;
              publicName = nameField.getText();
              privateName = chatServer.register(cCallback, publicName);
              center.setEnabled(true);
              south.setEnabled(true);
              cCallback.displayArea.setText("Connected to chat server as: " +
                             publicName);
              chatServer.sendMessage(privateName, publicName +
                             " just connected to server");
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(quitButton)) {
         try {
              cCallback.displayArea.setText("");
              typeArea.setText("");
              center.setEnabled(false);
              south.setEnabled(false);
              chatServer.unregister(privateName);
              nameDialog.show();
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(sendButton)) {
         try{
              chatServer.sendMessage(privateName, typeArea.getText());
              typeArea.setText("");
         catch(Exception ex) {
              ex.printStackTrace();
         else if (e.getSource().equals(clearButton)) {
         cCallback.displayArea.setText("");
    public void destroy() {
         try {
         super.destroy();
         mainFrame.setVisible(false);;
         mainFrame.dispose();
         chatServer.unregister(privateName);
         catch(Exception e) {
         e.printStackTrace();
    3. Chatcallback.java - interface used by clients to connect to the server.
    import java.rmi.*;
    public interface ChatCallback extends Remote {
    public void addMessage(String publicName,
                   String message) throws RemoteException;
    4. ChatcallbackImplementation.java - implements Chatcallback interface.
    import java.rmi.*;
    import java.io.*;
    import java.awt.event.*;
    import java.awt.*;
    public class ChatCallbackImplementation implements ChatCallback {
    // The buttons
    // The Text fields
    TextArea displayArea;
    public void addMessage(String publicName,
                   String message) throws RemoteException {
    displayArea.append("\n" + "[" + publicName + "]: " + message);
    5. Chatserver.java - interface for the chat server.
    import java.rmi.*;
    import java.io.*;
    public interface ChatServer extends Remote {
    public String register(ChatCallback object,
                   String publicName) throws RemoteException;
    * Remove the client associated with the specified registration string.
    * @param registeredString the string returned to the client upon registration.
    public void unregister(String registeredString) throws RemoteException;
    * The client is sending new data to the server.
    * @param assignedName the string returned to the client upon registration.
    * @param data the chat data.
    public void sendMessage(String registeredString, String message) throws RemoteException;
    6. ChatServerImplementation.java - implements Chatserver interface.
    import java.rmi.*;
    import java.util.*;
    import java.rmi.server.*;
    import java.io.*;
    * A class that bundles the ChatCallback reference with a public name used
    * by the client.
    class ChatClient {
    private ChatCallback callback;
    private String publicName;
    ChatClient(ChatCallback cbk, String name) {
         callback = cbk;
         publicName = name;
    // returns the name.
    String getName() {
         return publicName;
    // returns a reference to the callback object.
    ChatCallback getCallback() {
         return callback;
    public class ChatServerImplementation extends UnicastRemoteObject
    implements ChatServer {
    // The table of clients connected to the server.
    Hashtable clients;
    // Tne number of current connections to the server.
    private int currentConnections;
    // The maximum number of connections to the server.
    private int maxConnections;
    // The output stream to write messages to.
    PrintWriter writer;
    * Create a ChatServer.
    * @param maxConnections the total number if connections allowed.
    public ChatServerImplementation(int maxConnections) throws RemoteException {
         clients = new Hashtable(maxConnections);
         this.maxConnections = maxConnections;
    * Increment the counter keeping track of the number of connections.
    synchronized boolean incrementConnections() {
         boolean ret = false;
         if (currentConnections < maxConnections) {
         currentConnections++;
         ret = true;
         return ret;
    * Decrement the counter keeping track of the number of connections.
    synchronized void decrementConnections() {
         if (currentConnections > 0) {
         currentConnections--;
    * Register with the ChatServer, with a String that publicly identifies
    * the chat client. A String that acts as a "magic cookie" is returned
    * and is sent by the client on future remote method calls as a way of
    * authenticating the client request.
    * @param object The ChatCallback object to be used for updates.
    * @param publicName The String the object would like to be known as.
    * @return The actual String assigned to the object for removing, etc. or
    * null if the client could not register.
    public synchronized String register(ChatCallback object, String publicString) throws RemoteException {
         String assignedName = null;
         if (incrementConnections()) {
         ChatClient client = new ChatClient(object, publicString);
         assignedName = "" + client.hashCode();
         clients.put(assignedName, client);
         out("Added callback for: " + client.getName());
         return assignedName;
    * Remove the client associated with the specified registration string.
    * @param registeredString the string returned to the client upon registration.
    public synchronized void unregister(String registeredString) throws RemoteException {
         ChatCallback cbk;
         ChatClient sender;
         if (clients.containsKey(registeredString)) {
         ChatClient c = (ChatClient)clients.remove(registeredString);
         decrementConnections();
         out("Removed callback for: " + c.getName());
         for (Enumeration e = clients.elements(); e.hasMoreElements(); ) {
              cbk = ((ChatClient)e.nextElement()).getCallback();
              cbk.addMessage("ChatServer",
                        c.getName() + " has left the building...");
         else {
         out("Illegal attempt at removing callback (" + registeredString + ")");
    * Sets the logging stream.
    * @param out the stream to log messages to.
    protected void setLogStream(Writer out) throws RemoteException {
         writer = new PrintWriter(out);
    * The client is sending new message to the server.
    * @param assignedName the string returned to the client upon registration.
    * @param data the chat data.
    public synchronized void sendMessage(String registeredString, String message) throws RemoteException {
         ChatCallback cbk;
         ChatClient sender;
         try {
         out("Recieved from " + registeredString);
         out("Message: " + message);
         if (clients.containsKey(registeredString)) {
              sender = (ChatClient)clients.get(registeredString);
              for (Enumeration e = clients.elements(); e.hasMoreElements(); ) {
                   cbk = ((ChatClient)e.nextElement()).getCallback();
                   cbk.addMessage(sender.getName(), message);
         else {
              out("Client " + registeredString+ " not registered");
         catch(Exception ex){
         out("Exception thrown in newData: " + ex);
         ex.printStackTrace(writer);
         writer.flush();
    * Write s string to the current logging stream.
    * @param message the string to log.
    protected void out(String message){
         if(writer != null){
         writer.println(message);
         writer.flush();
    * Start up the Chat server.
    public static void main(String args[]) throws Exception {
         try {
         // Create the security manager
         System.setSecurityManager(new RMISecurityManager());
         // Instantiate a server
         ChatServerImplementation c = new ChatServerImplementation(10);
         // Set the output stream of the server to System.out
         c.setLogStream(new OutputStreamWriter(System.out));
         // Bind the server's name in the registry
         Naming.rebind("//" + args[0] + "/ChatServer", c);
         c.out("Bound in registry.");
         catch (Exception e) {
         System.out.println("ChatServerImplementation error:" +
                        e.getMessage());
         e.printStackTrace();
    Using my own machine (connected to a network), I tried to test this one out by setting mine as the server and also the client. I did the following:
    1. Compile the source code.
    2. Use rmic to generate the skeletons and/or stubs from the ChatCallbackImplementation and ChatServerImplementation.
    3. Start the rmiregistry with no CLASSPATH
    4. Start the server successfully.
    5. Start the applet using the AppletViewer command.
    It worked fined.
    The problem is when I ran the applet using the browser, IE explorer, the dialog boxes, frame and buttons did appear. I was able to do the part of logging on. But after that, the applet seemed to have hang. No message appeared that says I'm connected (which appeared using the appletviewer). I clicked the send button. No response.
    I double-checked my classpath. I did have my classpath set correctly. I'm still trying to figure out the problem. Up to now, I don't have any clue what it is.
    I will appreciate much if someone can help me figure what's could have possibly been wrong ....
    Thanks a lot ...

    Hi Domingo,
    I had a similar problem running applet/rmi with IE.
    Looking in IE..view..JavaConsole error messages my applet was unable to find java.rmi.* classes.
    I checked over java classes in msJVM, they're not present.
    ( WinZip C:\WINDOWS\JAVA\Packages\9rl3f9ft.zip and others from msVM installed )
    ( do not contain the java.rmi.* packages )
    I have downloaded and installed the latest msJVM for IE5. ( I think its included in later versions)
    @http://www.objectweb.org/rmijdbc/RJfaq.html I found ref to rmi.zip download to provide
    these classes. I couldn't get the classes from the site but I managed to find a ref to IBM
    site @http://alphaworks.ibm.com/aw.nsf/download/rmi which had similar download.
    The download however didn't solve my problems. I was unable to install rmi.zip with
    RmiPatch.exe install.
    I solved this by extracting the class files from rmi.zip and installing them at C:\WINDOWS\JAVA\trustlib ( msJVM installation trusted classes lib defined in
    registry HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Java VM\TrustedLibsDirectory )
    This solved the problem. My rmi/applet worked.
    Hope this helps you.
    Chris
    ([email protected])

  • Client-Server using RMI on Win2000

    I have a client server application using RMI that works on Win NT4.0 when I am connected
    to a network or when the it is not connected (workstation is client and server).
    This same application does not work as a standalone (not connected to network) when running
    on Win2000. I've been able to start the server (still under Win2000) by adding a Microsoft
    Loopback Adapter but the client do (can) not communicate ( see) the server(s) at all.
    Does anyone knows the difference between WinNT4.0 and Win2000 network,
    configure Win2000 for client-server on RMI loopback?
    Thanks,
    Isagani

    Yes, I did. But let me expand on the problem and observations.
    Running under Win2000 and connected to the network and working.
    - I use netstat -n (a util ) to see how my application is running when it is working.
    The port (1101) the apps uses eventually loops back to the system and the app is able
    create the multicast sockets it needs and can join the group. And everyone is happy.
    When not connected to the network, port 1101 makes a connection back to the system
    but somehow the system breaks the loop back, basically throwing an exception.
    I do not these problem with WinNT4.0
    Any ideas?
    Thanks,
    Isagani

  • Should an application be converted to use ADO?

    I'm just an Oracle DBA, not a developer, so maybe my question isn't phrased correctly.
    Currently we are using Delphi 5 and Direct Oracle Access (DOA) from allroundautomations ( http://www.allroundautomations.nl/ )
    Our developers are considering switching to Microsoft ActiveX Data Objects (ADO) with Delphi 7 instead of DOA.
    Is this a good idea? Any caveats, things to consider?
    My understanding that when using ADO one also has to choose an OLE DB Provider. I think that we should use whatever driver is written by Oracle. Any reasons not to do that?

    Whether it's a good idea or not really depends on the specifics of your application.
    - I would assume that it would be more work to convert an existing application using DOA to use ADO in Delphi 7 rather than sticking with DOA.
    - ADO is significantly more common than DOA, so it should be much easier to find people who are comfortable with ADO if you need additional help, and you should be able to find a lot more samples, tutorials, etc. on the web.
    - ADO may be initially less familiar to your developers, which introduces scheduling risks since their estimates will tend to be less accurate.
    - ADO (and the underlying OLE DB API) is designed as a "least-common denominator" sort of database API. I'm assuming from the name that DOA is designed to take specific advantage of Oracle functionality. If you're making use of Oracle-specific functionality, make sure you investigate whether and how ADO handles (or fails to handle) that functionality.
    My hunch is that if the developers are considering the switch, it's probably a good idea-- they're the ones most familiar with the specifics of the code.
    As far as choosing an OLE DB provider, I'd strongly suggest using the Oracle provider. Rarely, you'll hit a bug in the provider that's not present in some other provider, but that would be the only reason in my mind to switch.
    Justin
    Distributed Database Consulting, Inc.
    www.ddbcinc.com/askDDBC

  • Should I use RMI for this??

    Hi:
    I am a complete newbie on RMI, I want to know whether the following task should be achieved by using RMI. Basically, I have a java application sitting on a server machine (unix machine), and I want to be able to call that application from another client machine using the command line prompt (client machine is WIN2000). I was told to open a TCP port to do this. Umm, basically, does this task involve RMI at all?
    Please give me some general direction on this problem, thanx a lot.

    You could perform the communication as mentioned, having a process open a server socket on the server machine and wait for information to be sent from a client. You will end up defining the format and protocols used in the communications over the socket, but if sufficiently simple, this approach would work fine.
    If you want to send more complex data or commands, or invoke methods on the server from the client, RMI is a good avenue to explore. It requires some infrastructure, however: you must be running an RMIRegistry process on the server, you must properly put your stubs and interfaces somewhere they can be dynamically downloaded (or packaged up with the client), and you must work through various RMI Security issues.
    These things are not hard to pick up, however, and the RMI path in the Java Tutorial is a good place to start learning about such things.

  • To call methods inside the same application is possible to use RMI ?

    hello,
    What I should like to know is if RMI can easily be used to implement comunication (calling methods) inside classes that are part of the one same application... This should be a restrict case to use RMI...
    The reason to do it come from the need to use the instance of a class knonwing it only as Object... This can be good to do if some code is used for general pupose in many different contexts.
    In this case you can pass to the "server class" a parameter 'o' of type Object (all the classes extend Object) of the "customer class" to get back informations if some elaboration happen inside the "server class"...
    This purpose is generally implemented with event listeners, but perhaps it could be done easily using RMI too (I dont know it...).
    Using RMI in this simple situation, don't should require anything of complicate (stub, .... mashalling parametres....) to have the reference to method of the "customer class" to call. The "server class" already recives a reference of the "customer class" how parameter of type Object, and the mame of the method too.
    I propose a simple thoeric example to explain really what I said before:
    Class Server {
        String methodName;
        Object obj;
        pubic Server( Oject o , String metName){  // constructor
            obj = o;
            methodName = metName;
            // some thing is done and, at last, the method callbakMethod() is executed
            callbakMethod();
        }// constructor
        public void callbakMethod(){ // this method have the purpose to call customerMethod()
              Class c = owner.getClass();                            
              Method m = null;
                  try {
                          m = c.getMethod("callBackMethod",null);     
                         * // (1)
                          // I think that here we could have the possibility to call
                          // the method  customerMethod() belonging to class Customer..
                          // I don't know if it possible and  ...  (and if it is possible) I am not able to do it*
        }// callbakMethod()
    }  // class Server
    Class Custmer{
        public Customer() { // constructor
              Server s = new Server (this, "customerMethod");
        } // constructor
        customerMethod() {    // I would this method is called from class Server
            // do some thing.....
        }  //customerMethod
    }  // class CustomerMy ask is: it is possible to call customerMethod() from the Server class ?...
    If the aswer is yes, I wold know the sintax to use to do it, please.
    thank you
    regards
    tonyMrsangelo

    RMI doesn't help you in the slightest here. You can just realize it all using local method invocation. All RMI does is to make that remote. If the objects aren't remote there is no point.

  • What kind of version checking should be done for applications using SQLDBC

    Hi,
    This query is regarding the kind of version checking that an application should do.
    Currently I am building my application in MaxDB version of 7.6.05.09, which is the community edition available on the sdn download site currently, this will change to the enterprise edition once we have finalized everything in terms of code and packging etc....
    Now when the application is shipped to customer site, what kind of version checking should the application do to ensure that the version of library/kernel/client/sdk it has been built with is consistent with the one that is installed at the customer site.
    From what i see SQLDBC exposes the following method for getting version related information.
    char * SQLDBC_Environment_getLibraryVersion(SQLDBC_Environment* hdl);
    char *getSDKVersion();
    SQLDBC_Int4 SQLDBC_Statement_getKernelVersion(SQLDBC_Statement* hdl); (Note: Wondering why should a handle to SQLDBC_Statement be needed to find the Kernel version)
    Just to give you little more hint of what i am talking about, for MySQL database we use the functions
    mysql_get_client_version and mysql_get_server_version and check that the values returned by these functions are less than the value which was used at build time.
    Regards
    Raja

    Hello Raja
    From the documentation:
    const char* SQLDBC::SQLDBC_Environment::getLibraryVersion ()   
    Returns the version of used SQLDBC runtime.
    This is the version of the used SQLDBC library. The version of the loaded
    runtime may differ from the version inidacted in the used header. It is our
    aim that newer versions of the runtime will run with old applications without
    the need to be re-compiling.
    Therefore, for compatibility checks, use getLibraryVersion.
    getKernelVersion is also available from the connection:
    SQLDBC_Connection::getKernelVersion()
    Regards  Thomas

  • How can we develope  Chat  application  by using RMI?(urgent)

    Hello guys,
    I want to develope a chat application like Yahoo Messanger application by using RMI. Can I use TCP/IP of UDP protocal to pass data? Please tell me.
    Please give me idea about this topic,Thanks a lot...

    Plz send the code for chat application(min b/w 2
    users) using RMI to
    [email protected],viswanadha.gowrikanth@gmail.
    comYou really needed to resurrect an old thread for this request?

  • May i use flash component for develop IPhone application?

    Hi all,
    Actually i have flash cs4 pro, so first i develop my small application using flash component like datagrid, button and input text.
    After my completion my program, I will perches flash cs5 pro. Please suggest?
    Regards,
    Kartikeya Sharma

    it doesn't.
    but you can build iphone apps using flash and you can use flash components to build those apps (which was the answer to the op's question).

  • May be used as the creativ cloud Single Person or for industrial Applications (one-man-company)

    may be used as the creativ cloudsingle Person or for industrial applikations (one-man-Company)

    Follow-up: the problem is far less frequent now that we disabled local resource attachment via the RDP session, and when it occurs, a logoff/logon to the RDS server seems to prevent the problem for some time, but now it turns out that it has not actually
    gone away.
    Facts that remain:
    It occurs only in the half-dozen RDP sessions established by the MACs, not from RDP sessions established via any of the other 15 or so Windows 7 RDP clients.
    It is always C0000006.
    It occurs only when accessing EXEs/DLLs via a network drive (whether when initially opening them or when subsequently using them).
    But it is not consistently happening to the same user in the same EXE or DLL or same exact part of the EXE.
    No, it is not an option to just deploy locally. I still need to find out how/why the RDP client version could result in incomplete loading of network files  on the RDS server.
    Is there any logging that can be enabled on the server that can help trace exactly what is happening with network file access (not only when opened, but when Delphi later attempts to complete the load or load other components).

  • Very Urgent Unable to Launch Application using Web Start using JDK 1.4.2

    Hi all
    I am very serious issue i have ejb client swing application that uses
    RMI to contact a session bean deployed in JBoss now i want the client app to be installed in the client machine using web start . Also i understand i require security permission to access network resources. so i have signed all the JAR files with same certificate created using self certificate avialiable in JDK by default also in the JNLP file in have included the following tag
    <security>
    <all-permissions/>
    </security>
    Now when I launch my application using Web start it gives an error that " Unsigned application is trying to access local resources"
    I unable to understand what could be the problem . Please help me with the steps to be followed where in client should be able to RMI call to the server
    Thanks in Advance
    Naveen

    You may have tried this already, but you might have to sign the jars via command line, outside any export process from your IDE.
    $ jarsigner {filename}.jar {key from keystore}
    I also had problems using webstart and RMI through an RCP
    Ben

  • How to configure OC4J using RMI/IIOP with SSL

    Any help?
    I just mange configure the OC4J using RMI/IIOP but base on
    But when I follow further to use RMI/IIOP with SSL I face the problem with: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    p/s: I use self generate keystore which should be ok as I can use it for https connection.
    Any one can help?
    Below is the OC4J log:
    D:\oc4j\j2ee\home>java -Djavax.net.debug=all -DGenerateIIOP=true -Diiop.runtime.debug=true -jar oc4j.jar
    05/02/23 16:43:16 ================ IIOPServerExtensionProvider.preInitApplicationServer
    05/02/23 16:43:38 ================= IIOPServerExtensionProvider.postInitApplicationServer
    05/02/23 16:43:38 ================== config = {SEPS={IIOP={ssl-port=5556, port=5555, ssl=true, trusted-clients=*, ssl-client-server-auth-port=5557, keystore=D:\\oc4j\\j2ee\\home\\server.keystore, keystore-password=123456, truststore=D:\\oc4j\\j2ee\\home\\server.keystore, truststore-password=123456, ClassName=com.oracle.iiop.server.IIOPServerExtensionProvider, host=localhost}}}
    05/02/23 16:43:38 ================== server.getAttributes() = {threadPool=com.evermind.server.ApplicationServerThreadPool@968fda}
    05/02/23 16:43:38 ================== pool: null
    05/02/23 16:43:38 ====================== In startServer ...
    05/02/23 16:43:38 ==================== Creating an IIOPServer ...
    05/02/23 16:43:38 ========= IIOP server being initialized
    05/02/23 16:43:38 SSL port: 5556
    05/02/23 16:43:38 SSL port 2: 5557
    05/02/23 16:43:43 com.sun.corba.ee.internal.iiop.GIOPImpl(Thread[Orion Launcher,5,main]): getEndpoint(IIOP_CLEAR_TEXT, 5555, null)
    05/02/23 16:43:43 com.sun.corba.ee.internal.iiop.GIOPImpl(Thread[Orion Launcher,5,main]): createListener( socketType = IIOP_CLEAR_TEXT port = 5555 )
    05/02/23 16:43:44 com.sun.corba.ee.internal.iiop.GIOPImpl(Thread[Orion Launcher,5,main]): getEndpoint(SSL, 5556, null)
    05/02/23 16:43:44 com.sun.corba.ee.internal.iiop.GIOPImpl(Thread[Orion Launcher,5,main]): createListener( socketType = SSL port = 5556 )
    05/02/23 16:43:45 ***
    05/02/23 16:43:45 found key for : mykey
    05/02/23 16:43:45 chain [0] = [
    Version: V1
    Subject: CN=Server, OU=Bar, O=Foo, L=Some, ST=Where, C=UN
    Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4
    Key: SunJSSE RSA public key:
    public exponent:
    010001
    modulus:
    b1239fff 2ae5d31d b01a0cfb 1186bae0 bbc7ac41 94f24464 e92a7e33 6a5b0844
    109e30fb d24ad770 99b3ff86 bd96c705 56bf2e7a b3bb9d03 40fdcc0a c9bea9a1
    c21395a4 37d8b2ce ff00eb64 e22a6dd6 97578f92 29627229 462ebfee 061c99a4
    1c69b3a0 aea6a95b 7ed3fd89 f829f17e a9362efe ccf8034a 0910989a a8573305
    Validity: [From: Wed Feb 23 15:57:28 SGT 2005,
                   To: Tue May 24 15:57:28 SGT 2005]
    Issuer: CN=Server, OU=Bar, O=Foo, L=Some, ST=Where, C=UN
    SerialNumber: [    421c3768]
    Algorithm: [MD5withRSA]
    Signature:
    0000: 34 F4 FA D4 6F 23 7B 84 30 42 F3 5C 4B 5E 18 17 4...o#..0B.\K^..
    0010: 73 69 73 A6 BF 9A 5D C0 67 8D C3 56 DF A9 4A AC sis...].g..V..J.
    0020: 88 AF 24 28 C9 39 16 22 29 81 01 93 86 AA 1A 5D ..$(.9.")......]
    0030: 07 89 26 22 91 F0 8F DE E1 4A CF 17 9A 02 51 7D ..&".....J....Q.
    0040: 92 D3 6D 9B EF 5E C1 C6 66 F9 11 D4 EB 13 8F 17 ..m..^..f.......
    0050: E7 66 58 9F 6C B0 60 7C 39 B4 E0 B7 04 A7 7F A6 .fX.l.`.9.......
    0060: 4D A5 89 E7 F4 8A DC 59 B4 E7 A5 D4 0A 35 9A F1 M......Y.....5..
    0070: A2 CD 3A 04 D6 8F 16 B1 9E 6F 34 40 E8 C0 47 03 ..:[email protected].
    05/02/23 16:43:45 ***
    05/02/23 16:43:45 adding as trusted cert:
    05/02/23 16:43:45 Subject: CN=Client, OU=Bar, O=Foo, L=Some, ST=Where, C=UN
    05/02/23 16:43:45 Issuer: CN=Client, OU=Bar, O=Foo, L=Some, ST=Where, C=UN
    05/02/23 16:43:45 Algorithm: RSA; Serial number: 0x421c3779
    05/02/23 16:43:45 Valid from Wed Feb 23 15:57:45 SGT 2005 until Tue May 24 15:57:45 SGT 2005
    05/02/23 16:43:45 adding as trusted cert:
    05/02/23 16:43:45 Subject: CN=Server, OU=Bar, O=Foo, L=Some, ST=Where, C=UN
    05/02/23 16:43:45 Issuer: CN=Server, OU=Bar, O=Foo, L=Some, ST=Where, C=UN
    05/02/23 16:43:45 Algorithm: RSA; Serial number: 0x421c3768
    05/02/23 16:43:45 Valid from Wed Feb 23 15:57:28 SGT 2005 until Tue May 24 15:57:28 SGT 2005
    05/02/23 16:43:45 trigger seeding of SecureRandom
    05/02/23 16:43:45 done seeding SecureRandom
    05/02/23 16:43:45 com.sun.corba.ee.internal.iiop.GIOPImpl(Thread[Orion Launcher,5,main]): getEndpoint(SSL_MUTUALAUTH, 5557, null)
    05/02/23 16:43:45 com.sun.corba.ee.internal.iiop.GIOPImpl(Thread[Orion Launcher,5,main]): createListener( socketType = SSL_MUTUALAUTH port = 5557 )
    05/02/23 16:43:45 matching alias: mykey
    matching alias: mykey
    05/02/23 16:43:46 ORB created ..com.oracle.iiop.server.OC4JORB@65b738
    05/02/23 16:43:47 com.sun.corba.ee.internal.corba.ClientDelegate(Thread[Orion Launcher,5,main]): invoke(ClientRequest) called
    05/02/23 16:43:47 com.oracle.iiop.server.OC4JORB(Thread[Orion Launcher,5,main]): process: dispatching to scid 2
    05/02/23 16:43:47 com.oracle.iiop.server.OC4JORB(Thread[Orion Launcher,5,main]): dispatching to sc [email protected]7
    05/02/23 16:43:48 com.sun.corba.ee.internal.corba.ClientDelegate(Thread[Orion Launcher,5,main]): invoke(ClientRequest) called
    05/02/23 16:43:48 com.oracle.iiop.server.OC4JORB(Thread[Orion Launcher,5,main]): process: dispatching to scid 2
    05/02/23 16:43:48 com.oracle.iiop.server.OC4JORB(Thread[Orion Launcher,5,main]): dispatching to sc com.sun.corba.ee.internal.corba.ServerDelegate@9300cc
    05/02/23 16:43:48 com.sun.corba.ee.internal.corba.ServerDelegate(Thread[Orion Launcher,5,main]): Entering dispatch method
    05/02/23 16:43:48 com.sun.corba.ee.internal.corba.ServerDelegate(Thread[Orion Launcher,5,main]): Consuming service contexts, GIOP version: 1.2
    05/02/23 16:43:48 com.sun.corba.ee.internal.corba.ServerDelegate(Thread[Orion Launcher,5,main]): Has code set context? false
    05/02/23 16:43:48 com.sun.corba.ee.internal.corba.ServerDelegate(Thread[Orion Launcher,5,main]): Dispatching to servant
    05/02/23 16:43:48 com.sun.corba.ee.internal.corba.ServerDelegate(Thread[Orion Launcher,5,main]): Handling invoke handler type servant
    05/02/23 16:43:48 NS service created and started ..org.omg.CosNaming._NamingContextExtStub:IOR:000000000000002b49444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e30000000000001000000000000007c000102000000000c31302e312e3231342e31310015b3000000000031afabcb0000000020d309e06a0000000100000000000000010000000c4e616d65536572766963650000000004000000000a0000000000000100000001000000200000000000010001000000020501000100010020000101090000000100010100
    05/02/23 16:43:48 NS ior = ..IOR:000000000000002b49444c3a6f6d672e6f72672f436f734e616d696e672f4e616d696e67436f6e746578744578743a312e30000000000001000000000000007c000102000000000c31302e312e3231342e31310015b3000000000031afabcb0000000020d309e06a0000000100000000000000010000000c4e616d65536572766963650000000004000000000a0000000000000100000001000000200000000000010001000000020501000100010020000101090000000100010100
    05/02/23 16:43:48 Oracle Application Server Containers for J2EE 10g (9.0.4.0.0) initialized
    05/02/23 16:45:14 com.sun.corba.ee.internal.iiop.ConnectionTable(Thread[JavaIDL Listener,5,main]): Server getConnection(119e583[Unknown 0x0:0x0: Socket[addr=/127.0.0.1,port=1281,localport=5556]], SSL)
    05/02/23 16:45:14 com.sun.corba.ee.internal.iiop.ConnectionTable(Thread[JavaIDL Listener,5,main]): host = 127.0.0.1 port = 1281
    05/02/23 16:45:14 com.sun.corba.ee.internal.iiop.ConnectionTable(Thread[JavaIDL Listener,5,main]): Created connection Connection[type=SSL remote_host=127.0.0.1 remote_port=1281 state=ESTABLISHED]
    com.sun.corba.ee.internal.iiop.MessageMediator(Thread[JavaIDL Reader for 127.0.0.1:1281,5,main]): Creating message from stream
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, handling exception: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, SEND TLSv1 ALERT: fatal, description = unexpected_message
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, WRITE: TLSv1 Alert, length = 2
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called closeSocket()
    05/02/23 16:45:14 com.sun.corba.ee.internal.iiop.ReaderThread(Thread[JavaIDL Reader for 127.0.0.1:1281,5,main]): IOException in createInputStream: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    05/02/23 16:45:14 javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.d(DashoA12275)
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.AppInputStream.read(DashoA12275)
    05/02/23 16:45:14 at com.sun.corba.ee.internal.iiop.messages.MessageBase.readFully(MessageBase.java:520)
    05/02/23 16:45:14 at com.sun.corba.ee.internal.iiop.messages.MessageBase.createFromStream(MessageBase.java:58)
    05/02/23 16:45:14 at com.sun.corba.ee.internal.iiop.MessageMediator.processRequest(MessageMediator.java:110)
    05/02/23 16:45:14 at com.sun.corba.ee.internal.iiop.IIOPConnection.processInput(IIOPConnection.java:339)
    05/02/23 16:45:14 at com.sun.corba.ee.internal.iiop.ReaderThread.run(ReaderThread.java:63)
    05/02/23 16:45:14 Caused by: javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.InputRecord.b(DashoA12275)
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA12275)
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA12275)
    05/02/23 16:45:14 at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275)
    05/02/23 16:45:14 ... 6 more
    05/02/23 16:45:14 com.sun.corba.ee.internal.iiop.IIOPConnection(Thread[JavaIDL Reader for 127.0.0.1:1281,5,main]): purge_calls: starting: code = 1398079696 die = true
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called close()
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called closeInternal(true)
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called close()
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called closeInternal(true)
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called close()
    05/02/23 16:45:14 JavaIDL Reader for 127.0.0.1:1281, called closeInternal(true)
    05/02/23 16:45:14 com.sun.corba.ee.internal.iiop.ConnectionTable(Thread[JavaIDL Reader for 127.0.0.1:1281,5,main]): DeleteConn called: host = 127.0.0.1 port = 1281

    Good point, I do belive what you are referring to is this:
    Any client, whether running inside a server or not, has EJB security properties. Table 15-2 lists the EJB client security properties controlled by the ejb_sec.properties file. By default, OC4J searches for this file in the current directory when running as a client, or in ORACLE_HOME/j2ee/home/config when running in the server. You can specify the location of this file explicitly with the system property setting -Dejb_sec_properties_location=pathname.
    Table 15-2 EJB Client Security Properties
    Property Meaning
    # oc4j.iiop.keyStoreLoc
    The path and name of the keystore. An absolute path is recommended.
    # oc4j.iiop.keyStorePass
    The password for the keystore.
    # oc4j.iiop.trustStoreLoc
    The path name and name of the truststore. An absolute path is recommended.
    # oc4j.iiop.trustStorePass
    The password for the truststore.
    # oc4j.iiop.enable.clientauth
    Whether the client supports client-side authentication. If this property is set to true, you must specify a keystore location and password.
    # oc4j.iiop.ciphersuites
    Which cipher suites are to be enabled. The valid cipher suites are:
    TLS_RSA_WITH_RC4_128_MD5
    SSL_RSA_WITH_RC4_128_MD5
    TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
    SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
    TLS_RSA_EXPORT_WITH_RC4_40_MD5
    SSL_RSA_EXPORT_WITH_RC4_40_MD5
    TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
    SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
    nameservice.useSSL
    Whether to use SSL when making the initial connection to the server.
    client.sendpassword
    Whether to send user name and password in clear form (unencrypted) in the service context when not using SSL. If this property is set to true, the user name and password are sent only to servers listed in the trustedServer list.
    oc4j.iiop.trustedServers
    A list of servers that can be trusted to receive passwords sent in clear form. This has no effect if client.sendpassword is set to false. The list is comma-delimited. Each entry in the list can be an IP address, a host name, a host name pattern (for example, *.example.com), or * (where "*" alone means that all servers are trusted.

  • Error while Creating a basic portal application using JDeveloper

    Hi,
    I am trying to build a portal application using the following tutorial on JDeveloper 11.1.1.5.0 on Windows XP.
    [http://download.oracle.com/docs/cd/E17904_01/webcenter.1111/e10273/createapp.htm#CCHEGDIC|http://download.oracle.com/docs/cd/E17904_01/webcenter.1111/e10273/createapp.htm#CCHEGDIC]
    I have configured all the prereqs for this tutorial. When i run the application, following message appears on the log file.
    Target Portal.jpr is not runnable, using default target index.html.
    and the webpage contains following error
    Error 404--Not Found
    From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:
    +10.4.5 404 Not Found+
    The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.
    Following is the WLS log for the application run.
    +[12:53:24 PM] ---- Deployment started. ----+
    +[12:53:24 PM] Target platform is (Weblogic 10.3).+
    +[12:53:24 PM] Retrieving existing application information+
    +[12:53:24 PM] Running dependency analysis...+
    +[12:53:24 PM] Deploying 3 profiles...+
    +[12:53:28 PM] Wrote MAR file to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.j2ee\drs\NTSL_PORTAL\AutoGeneratedMar+
    +[12:53:31 PM] Wrote Web Application Module to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.j2ee\drs\NTSL_PORTAL\NTSL_PortalWebApp.war+
    +[12:53:32 PM] Info: Namespace '/oracle/adf/share/prefs' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/lifecycle/importexport' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/lock' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/rc' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/persdef' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/shared/oracle/wcps' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/xliffBundles' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/search/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/framework/scope/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/page/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/pageDefs' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/adf/portlet' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/adf/portletappscope' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/doclib/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/portalapp' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/security/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/siteresources/shared' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Namespace '/oracle/webcenter/quicklinks/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[12:53:32 PM] Info: Any customizations created while running the application will be written to 'C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.mds.dt\adrs\NTSL_PORTAL\AutoGeneratedMar\mds_adrs_writedir'.+
    +[12:53:35 PM] Wrote Enterprise Application Module to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.j2ee\drs\NTSL_PORTAL+
    +[12:53:35 PM] Deploying Application...+
    +<Jul 25, 2011 12:53:44 PM GMT+05:00> <Warning> <J2EE> <BEA-160140> <Unresolved optional package references (in META-INF/MANIFEST.MF): [Extension-Name: oracle.apps.common.resource, referenced from: C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\tmp\_WL_user\oracle.webcenter.framework\owur7d]. Make sure the referenced optional package has been deployed as a library.>+
    +<Jul 25, 2011 12:53:53 PM GMT+05:00> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element web-app in the deployment descriptor in C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\tmp\_WL_user\jaxrs-framework-web-lib\829i9k\WEB-INF\web.xml. A version attribute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server will reject descriptors that do not specify the JEE version.>+
    +<ADFContext> <getCurrent> Automatically initializing a DefaultContext for getCurrent.+
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    To see the stack trace for thread that is initializing this, set the logging level of oracle.adf.share.ADFContext to FINEST
    +<EclipseLinkLogger> <basicLog> 2011-07-25 12:54:27.409--ServerSession(28900695)--PersistenceUnitInfo ServiceFrameworkPUnit has transactionType RESOURCE_LOCAL and therefore jtaDataSource will be ignored+
    +<ADFContext> <getCurrent> Automatically initializing a DefaultContext for getCurrent.+
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    To see the stack trace for thread that is initializing this, set the logging level of oracle.adf.share.ADFContext to FINEST
    +<LoggerHelper> <log> Cannot map nonserializable type "interface oracle.adf.mbean.share.config.runtime.resourcebundle.BundleListType" to Open MBean Type for mbean interface oracle.adf.mbean.share.config.runtime.resourcebundle.AdfResourceBundleConfigMXBean, attribute BundleList.+
    +[12:54:48 PM] Application Deployed Successfully.+
    +[12:54:48 PM] Elapsed time for deployment: 1 minute, 24 seconds+
    +[12:54:48 PM] ---- Deployment finished. ----+
    Run startup time: 84155 ms.
    +[Application NTSL_PORTAL deployed to Server Instance IntegratedWebLogicServer]+
    Target URL -- http://127.0.0.1:7101/mytutorial/index.html
    +<JUApplicationDefImpl> <logDefaultDynamicPageMapPattern> The definition at NTSL.portal.portal.DataBindings.cpx, uses a pagemap pattern match that hides other cpx files.+
    +<NavigationCatalogException> <<init>> oracle.adf.rc.exception.DefinitionNotFoundException: cannot find resource catalog using MDS reference /oracle/webcenter/portalapp/navigations/default-navigation-model.xml Root Cause=[MDS-00013: no metadata found for metadata object "/oracle/webcenter/portalapp/navigations/default-navigation-model.xml"] [Root exception is oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/oracle/webcenter/portalapp/navigations/default-navigation-model.xml"]+
    +<SkinFactoryImpl> <getSkin> Cannot find a skin that matches family portal and version v1.1. We will use the skin portal.desktop.+
    +<Logger> <error> ServletContainerAdapter manager not initialized correctly.+
    +[Application termination requested.  Undeploying application NTSL_PORTAL.]+
    +[01:04:42 PM] ---- Deployment started. ----+
    +[01:04:42 PM] Target platform is (Weblogic 10.3).+
    +[01:04:42 PM] Undeploying Application...+
    +<Jul 25, 2011 1:04:42 PM GMT+05:00> <Warning> <Deployer> <BEA-149085> <No application version was specified for application 'NTSL_PORTAL'. The undeploy operation will be performed against the currently active version 'V2.0'.>+
    INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
    INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
    +<BPELConnectionUtil> <getWorklistConnections> The Worklist service does not have a ConnectionName configuration entry in adf-config.xml that maps to a BPELConnection in connections.xml, therefore the Worklist service was not configured for this application.+
    +<NotificationSenderFactory> <getSender> Notification sender is not configured+
    +<ADFContext> <getCurrent> Automatically initializing a DefaultContext for getCurrent.+
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    To see the stack trace for thread that is initializing this, set the logging level of oracle.adf.share.ADFContext to FINEST
    +[01:04:48 PM] Application Undeployed Successfully.+
    +[01:04:48 PM] Elapsed time for deployment: 6 seconds+
    +[01:04:48 PM] ---- Deployment finished. ----+
    +[Application NTSL_PORTAL stopped and undeployed from Server Instance IntegratedWebLogicServer]+
    +[Running application NTSL_PORTAL on Server Instance IntegratedWebLogicServer...]+
    +[01:05:40 PM] ---- Deployment started. ----+
    +[01:05:40 PM] Target platform is (Weblogic 10.3).+
    +[01:05:40 PM] Retrieving existing application information+
    +[01:05:40 PM] Running dependency analysis...+
    +[01:05:41 PM] Deploying 3 profiles...+
    +[01:05:42 PM] Wrote MAR file to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.j2ee\drs\NTSL_PORTAL\AutoGeneratedMar+
    +[01:05:44 PM] Wrote Web Application Module to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.j2ee\drs\NTSL_PORTAL\NTSL_PortalWebApp.war+
    +[01:05:45 PM] Info: Namespace '/oracle/adf/share/prefs' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/lifecycle/importexport' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/lock' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/rc' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/persdef' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/shared/oracle/wcps' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/xliffBundles' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/search/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/framework/scope/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/page/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/pageDefs' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/adf/portlet' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/adf/portletappscope' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/doclib/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/portalapp' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/security/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/siteresources/shared' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Namespace '/oracle/webcenter/quicklinks/scopedMD' is mapped to deploy-target metadata-store-usage 'WebCenterFileMetadataStore' in adf-config.xml but no metadata from the namespace is included in the MAR.+
    +[01:05:45 PM] Info: Any customizations created while running the application will be written to 'C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.mds.dt\adrs\NTSL_PORTAL\AutoGeneratedMar\mds_adrs_writedir'.+
    +[01:05:47 PM] Wrote Enterprise Application Module to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\o.j2ee\drs\NTSL_PORTAL+
    +[01:05:47 PM] Deploying Application...+
    +<Jul 25, 2011 1:05:52 PM GMT+05:00> <Warning> <J2EE> <BEA-160140> <Unresolved optional package references (in META-INF/MANIFEST.MF): [Extension-Name: oracle.apps.common.resource, referenced from: C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\tmp\_WL_user\oracle.webcenter.framework\owur7d]. Make sure the referenced optional package has been deployed as a library.>+
    +<Jul 25, 2011 1:05:54 PM GMT+05:00> <Notice> <LoggingService> <BEA-320400> <The log file C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\logs\DefaultServer.log will be rotated. Reopen the log file if tailing has stopped. This can happen on some platforms like Windows.>+
    +<Jul 25, 2011 1:05:54 PM GMT+05:00> <Notice> <LoggingService> <BEA-320401> <The log file has been rotated to C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\logs\DefaultServer.log00003. Log messages will continue to be logged in C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\logs\DefaultServer.log.>+
    +<Jul 25, 2011 1:06:01 PM GMT+05:00> <Warning> <Munger> <BEA-2156203> <A version attribute was not found in element web-app in the deployment descriptor in C:\Documents and Settings\ahmedh\Application Data\JDeveloper\system11.1.1.5.37.60.13\DefaultDomain\servers\DefaultServer\tmp\_WL_user\jaxrs-framework-web-lib\829i9k\WEB-INF\web.xml. A version attribute is required, but this version of the Weblogic Server will assume that the JEE5 is used. Future versions of the Weblogic Server will reject descriptors that do not specify the JEE version.>+
    +<ADFContext> <getCurrent> Automatically initializing a DefaultContext for getCurrent.+
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    To see the stack trace for thread that is initializing this, set the logging level of oracle.adf.share.ADFContext to FINEST
    INFO: Found persistence provider "org.eclipse.persistence.jpa.PersistenceProvider". OpenJPA will not be used.
    +<EclipseLinkLogger> <basicLog> 2011-07-25 13:06:36.117--ServerSession(28713857)--PersistenceUnitInfo ServiceFrameworkPUnit has transactionType RESOURCE_LOCAL and therefore jtaDataSource will be ignored+
    +<ADFContext> <getCurrent> Automatically initializing a DefaultContext for getCurrent.+
    Caller should ensure that a DefaultContext is proper for this use.
    Memory leaks and/or unexpected behaviour may occur if the automatic initialization is performed improperly.
    This message may be avoided by performing initADFContext before using getCurrent().
    To see the stack trace for thread that is initializing this, set the logging level of oracle.adf.share.ADFContext to FINEST
    +<LoggerHelper> <log> Cannot map nonserializable type "interface oracle.adf.mbean.share.config.runtime.resourcebundle.BundleListType" to Open MBean Type for mbean interface oracle.adf.mbean.share.config.runtime.resourcebundle.AdfResourceBundleConfigMXBean, attribute BundleList.+
    +[01:06:54 PM] Application Deployed Successfully.+
    +[01:06:54 PM] Elapsed time for deployment: 1 minute, 14 seconds+
    +[01:06:54 PM] ---- Deployment finished. ----+
    Run startup time: 73985 ms.
    +[Application NTSL_PORTAL deployed to Server Instance IntegratedWebLogicServer]+
    Target URL -- http://127.0.0.1:7101/mytutorial/index.html
    +<JUApplicationDefImpl> <logDefaultDynamicPageMapPattern> The definition at NTSL.portal.portal.DataBindings.cpx, uses a pagemap pattern match that hides other cpx files.+
    +<NavigationCatalogException> <<init>> oracle.adf.rc.exception.DefinitionNotFoundException: cannot find resource catalog using MDS reference /oracle/webcenter/portalapp/navigations/default-navigation-model.xml Root Cause=[MDS-00013: no metadata found for metadata object "/oracle/webcenter/portalapp/navigations/default-navigation-model.xml"] [Root exception is oracle.mds.core.MetadataNotFoundException: MDS-00013: no metadata found for metadata object "/oracle/webcenter/portalapp/navigations/default-navigation-model.xml"]+
    +<SkinFactoryImpl> <getSkin> Cannot find a skin that matches family portal and version v1.1. We will use the skin portal.desktop.+
    +<Jul 25, 2011 1:11:04 PM GMT+05:00> <Warning> <netuix> <BEA-423420> <Redirect is executed in begin or refresh action. Redirect url is /console/console.portal?_nfpb=true&_pageLabel=DeploymentTaskSummaryPage&DeploymentTaskSummaryPortlethandle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3DADTR-0%2CType%3DDeploymentTaskRuntime%2CDeployerRuntime%3DDeployerRuntime%22%29.>+

    The below message comes when you don't specify any default file for your webcenter portal application and this should not be any problem.
    Target Portal.jpr is not runnable, using default target index.html.
    Can you answer to my questions:
    1. Did you just created a new wcp application in jdev and ran it with out doing any changes? If you have done what are the changes?
    2. How did you ran your application? (right clicking a particular page or right clicking your portal project and selected "run" option?

  • Hi, I developed a web application using HTML5-Offline Application Cache mechanism. Inspite of deleting the cache as mentioned in the above steps, Firefox still maintains a copy of the page in it's cache. Also, a serious bug is, even though we delete all

    == Issue
    ==
    I have a problem with my bookmarks, cookies, history or settings
    == Description
    ==
    Hi,
    I developed a web application using HTML5-Offline Application Cache mechanism. Inspite of deleting the cache as mentioned in the above steps, Firefox still maintains a copy of the page in it's cache. Also, a serious bug is, even though we delete all temp files used by Firefox, and open the previously cached page, it displays it correctly, but upon refreshing/reloading it again shows the previous version of the page maintained in the cache.
    == Troubleshooting information
    ==
    HTML5: Application Caching
    .style1 {
    font-family: Consolas;
    font-size: small;
    text-align: left;
    margin-left: 80px;
    function onCacheChecking(e)
    printOutput("CHECKINGContents of the manifest are being checked.", 0);
    function onCacheCached(e) {
    printOutput("CACHEDAll the resources mentioned in the manifest have been downloaded", 0);
    function onCacheNoUpdate(e)
    printOutput("NOUPDATEManifest file has not been changed. No updates took place.", 0);
    function onCacheUpdateReady(e)
    printOutput("UPDATEREADYChanges have been made to manifest file, and were downloaded.", 0);
    function onCacheError(e) {
    printOutput("ERRORAn error occured while trying to process manifest file.", 0);
    function onCacheObselete(e)
    printOutput("OBSOLETEEither the manifest file has been deleted or renamed at the source", 0);
    function onCacheDownloading(e) {
    printOutput("DOWNLOADINGDownloading resources into local cache.", 0);
    function onCacheProgress(e) {
    printOutput("PROGRESSDownload in process.", 0);
    function printOutput(statusMessages, howToTell)
    * Outputs information about an event with its description
    * @param statusMessages The message string to be displayed that describes the event
    * @param howToTell Specifies if the output is to be written onto document(0) or alert(1) or both(2)
    try {
    if (howToTell == 2) {
    document.getElementById("stat").innerHTML += statusMessages;
    window.alert(statusMessages);
    else if (howToTell == 0) {
    document.getElementById("stat").innerHTML += statusMessages;
    else if (howToTell == 1) {
    window.alert(statusMessages);
    catch (IOExceptionOutput) {
    window.alert(IOExceptionOutput);
    function initiateCaching()
    var ONLY_DOC = 0;
    var ONLY_ALERT = 1;
    var BOTH_DOC_ALERT = 2;
    try
    if (window.applicationCache)
    var appcache = window.applicationCache;
    printOutput("BROWSER COMPATIBILITYSUCCESS!! AppCache works on this browser.", 0);
    appcache.addEventListener('checking', onCacheChecking, false);
    appcache.addEventListener('cached', onCacheCached, false);
    appcache.addEventListener('noupdate', onCacheNoUpdate, false);
    appcache.addEventListener('downloading', onCacheDownloading, false);
    appcache.addEventListener('progress', onCacheProgress, false);
    appcache.addEventListener('updateready', onCacheUpdateReady, false);
    appcache.addEventListener('error', onCacheError, false);
    appcache.addEventListener('obsolete', onCacheObselete, false);
    else
    document.getElementById("stat").innerHTML = "Failure! I cant work.";
    catch (UnknownError)
    window.alert('Internet Explorer does not support Application Caching yet.\nPlease run me on Safari or Firefox browsers\n\n');
    stat.innerHTML = "Failure! I cant work.";
    == Firefox version
    ==
    3.6.3
    == Operating system
    ==
    Windows XP
    == User Agent
    ==
    Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729; .NET4.0E)
    == Plugins installed
    ==
    *-Shockwave Flash 10.0 r45
    *Default Plug-in
    *Adobe PDF Plug-In For Firefox and Netscape "9.3.2"
    *NPRuntime Script Plug-in Library for Java(TM) Deploy
    *The QuickTime Plugin allows you to view a wide variety of multimedia content in Web pages. For more information, visit the QuickTime Web site.
    *Google Update
    *4.0.50524.0
    *Office Live Update v1.4
    *NPWLPG
    *Windows Presentation Foundation (WPF) plug-in for Mozilla browsers
    *Next Generation Java Plug-in 1.6.0_20 for Mozilla browsers
    *Npdsplay dll
    *DRM Store Netscape Plugin
    *DRM Netscape Network Object
    Thanks & Regards,
    Kandarpa Chandrasekhar Omkar
    Software Engineer
    Wipro Technologies
    Bangalore.
    [email protected]
    [email protected]

    We have had this issue many, many times before including on the latest 3.6 rev. It appears that when the applicationCache has an update triggered by a new manifest file, the browser may still use only its local network cache to check for updates to the files in the manifest, instead of forcing an HTTP request and revalidating both the browser cache and the applicationCache versions of the cached file (seems there is more than one). I have to assume this is a browser bug, as one should not have to frig with server Cache-Control headers and such to get this to work as expected (and even then it still doesn't sometimes).
    The only thing that seems to fix the problem is setting network.http.use-cache to false (default is true) in about:config . This helps my case because we only ever run offline (applicationCache driven) apps in the affected browser (our managed mobile apps platform), but it will otherwise slow down your browser experience considerably.

Maybe you are looking for

  • Deleteing 110 million records..!!!!!!!1

    I have got a table which has 120 million records out of which only 10 million records are usefull. Now I want to delete the remaining 110 million records with the where condition. I spoke to my DBA and he said this has it will take around 2 weeks or

  • Number is converted to other format when download it to Excel

    Hi All, When I use method cl_gui_frontend_services=>gui_download to download an excel tab delimited file, the asset number 220200000003 is converted to 2.202E+11 when open it in Excel. How to prevent this conversion? Cheers, Catherine

  • How to intercept the buffer full citadel error in lookout 6.1

    I've lots of data to log in the citadel database. Some of these are logged using the logger object drived on a specified event. Anyway, there are other data that are logged continuosly. Sometimes the "citadel buffer full" event occours. How can I do

  • SQL*PLUS Alternative

    Hi, I am looking for a user-friendly alternative for SQL*Plus. Is there any oracle or 3rd party product that help me tp develop PLSQL procedures? I like to have syntax colouring, and having breakpoint and trace scripts. Something like SQL Server Quer

  • My phone will not turn off and the screen is frozen

    ???