Question regarding palcing cache related classes into a package

Hi all,
I have a question regarding placing classes into packages. Actually I am writing cache feature which caches the results which were evaluated previously. Since it is a cache, I don't want to expose it outside because it is only for internal purpose. I have 10 classes related to this cache feature. All of them are used by cache manager (the manager class which manages cache) only. So I thought it would make sense if I keep all the classes into a separate package.
But the problem I have is, since the cache related classes are not exposed outside so I can't make them public. If they are not public I can't access them in the other packages of my code. I can't either make it public or private. Can someone suggest a solution for my problem?

haki2 wrote:
But the problem I have is, since the cache related classes are not exposed outside so I can't make them public. If they are not public I can't access them in the other packages of my code.Well, you shouldn't access them in your non-cache code.
As far as I understand, the only class that other code needs to access is the cache manager. That one must be public. All other classes can be package-private (a.k.a default access). This way they can access each other and the cache manager can access them, but other code can't.

Similar Messages

  • [svn:osmf:] 14230: PARB changes: Move the dynamicstreaming classes into net package.

    Revision: 14230
    Revision: 14230
    Author:   [email protected]
    Date:     2010-02-17 17:34:32 -0800 (Wed, 17 Feb 2010)
    Log Message:
    PARB changes: Move the dynamicstreaming classes into net package.  Rename a handful of them.  Hide a handful of APIs.
    Modified Paths:
        osmf/trunk/apps/samples/framework/DynamicStreamingSample/src/DynamicStreamingSample.mxml
        osmf/trunk/apps/samples/framework/ExamplePlayer/org/osmf/examples/AllExamples.as
        osmf/trunk/framework/OSMF/.flexLibProperties
        osmf/trunk/framework/OSMF/org/osmf/elements/VideoElement.as
        osmf/trunk/framework/OSMF/org/osmf/elements/f4mClasses/ManifestParser.as
        osmf/trunk/framework/OSMF/org/osmf/events/BeaconEvent.as
        osmf/trunk/framework/OSMF/org/osmf/events/DRMEvent.as
        osmf/trunk/framework/OSMF/org/osmf/media/DefaultMediaFactory.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetLoader.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamLoadTrait.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamPlayTrait.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamUtils.as
        osmf/trunk/framework/OSMF/org/osmf/net/httpstreaming/DownloadRatioRule.as
        osmf/trunk/framework/OSMF/org/osmf/net/httpstreaming/HTTPStreamingNetLoader.as
        osmf/trunk/framework/OSMF/org/osmf/net/httpstreaming/HTTPStreamingUtils.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/DroppedFramesRule.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/InsufficientBandwidthRule.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/InsufficientBufferRule.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/SufficientBandwidthRule.as
        osmf/trunk/framework/OSMF/org/osmf/plugin/PluginManager.as
        osmf/trunk/framework/OSMF/org/osmf/utils/Version.as
        osmf/trunk/framework/OSMFTest/org/osmf/OSMFTests.as
        osmf/trunk/framework/OSMFTest/org/osmf/elements/f4mClasses/TestManifestParser.as
        osmf/trunk/framework/OSMFTest/org/osmf/media/TestMediaPlayerWithDynamicStreamingVideoElem ent.as
        osmf/trunk/framework/OSMFTest/org/osmf/media/TestMediaPlayerWithDynamicStreamingVideoElem entSubclip.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/TestNetStreamUtils.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/httpstreaming/TestDownloadRatioRule.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/rtmpstreaming/TestDroppedFramesRule.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/rtmpstreaming/TestInsufficientBandwidthRule.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/rtmpstreaming/TestInsufficientBufferRule.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/rtmpstreaming/TestSufficientBandwidthRule.as
        osmf/trunk/framework/OSMFTest/org/osmf/plugin/TestPluginManager.as
        osmf/trunk/framework/OSMFTest/org/osmf/utils/DynamicNetStreamSwitchManager.as
        osmf/trunk/framework/OSMFTest/org/osmf/utils/DynamicSwitchingRule.as
        osmf/trunk/framework/OSMFTest/org/osmf/utils/NetFactory.as
        osmf/trunk/libs/adobe/NetMocker/.flexLibProperties
        osmf/trunk/plugins/SMILPlugin/org/osmf/smil/media/SMILMediaGenerator.as
    Added Paths:
        osmf/trunk/framework/OSMF/org/osmf/net/DynamicStreamingItem.as
        osmf/trunk/framework/OSMF/org/osmf/net/DynamicStreamingResource.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamDynamicStreamTrait.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamMetricsBase.as
        osmf/trunk/framework/OSMF/org/osmf/net/NetStreamSwitchManager.as
        osmf/trunk/framework/OSMF/org/osmf/net/SwitchingRuleBase.as
        osmf/trunk/framework/OSMF/org/osmf/net/httpstreaming/HTTPNetStreamMetrics.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/RTMPDynamicStreamingNetLoader.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/RTMPNetStreamMetrics.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/TestDynamicStreamingItem.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/TestDynamicStreamingResource.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/TestNetStreamDynamicStreamTrait.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/TestNetStreamSwitchManager.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/rtmpstreaming/TestRTMPDynamicStreamingNetLoade r.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockHTTPNetStreamMetrics.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockNetStreamMetricsBase.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockRTMPDynamicStreamingNetLoader.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockRTMPNetStreamMetrics.as
    Removed Paths:
        osmf/trunk/framework/OSMF/org/osmf/net/dynamicstreaming/
        osmf/trunk/framework/OSMF/org/osmf/net/httpstreaming/HTTPMetricsProvider.as
        osmf/trunk/framework/OSMF/org/osmf/net/rtmpstreaming/RTMPMetricsProvider.as
        osmf/trunk/framework/OSMFTest/org/osmf/net/dynamicstreaming/
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockDynamicStreamingNetLoader.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockHTTPMetricsProvider.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockMetricsProvider.as
        osmf/trunk/libs/adobe/NetMocker/org/osmf/netmocker/MockRTMPMetricsProvider.as

    Stop it
    Sent from my I phone

  • Question about access non-public class from other package.

    Hi, everyone!
    Suppose class A and class B are in the same java file of package pkg1
    -- A.java. So, A is a public class and B is a non-public class.
    If I want to access class B from another class class C and class
    C is in package pkg2. When compiling, an error occurs indicating
    that class B is not visible to class C.
    So, If I defined serveral classes in one java file and I want to
    access every class from other package. How should I do?
    (I think in one java file, there should be only one public class and
    only the public class can be accessed from other package.)
    Thanks in advance,
    George

    So, If I defined serveral classes in one java file and
    I want to
    access every class from other package. How should I
    do? As you already seem to know, there is at most one public class allowed per source file (at least, with javac and most popular compilers). So if you want more than one public class, you will need to use more than one file...

  • Questions  regarding an embedet cuseeme stream into a webpage

    hello all,
    i am researching for quite a while for an cuseeme project. The only source i found is from 1997
    and runs on an older java version. Since white pine bough the intelectual property rights
    in 1998 and they forgot to release the source i put some effort in finding a solution to
    embed a stream into a webpage .
    I found a free java reflector writen by hamano tadshi it works pretty well on my osx
    machine with a dynamic ip and a dyndns account.
    This java code is the only code that i found and i like to know if there is some help
    to make this work.
    import java.applet.Applet;
    import java.awt.*;
    import java.awt.image.*;
    import java.net.*;
    import java.io.*;
    import java.util.*;
    public class JavaCU extends Applet {
         protected DatagramSocket recvSocket = null;
         protected DatagramSocket sendSocket = null;
         private Send Sender = null;
         private Receive Empfaenger = null;
            private String servername = null;
            private int port;
            private int chanid;
         private boolean stopped = false;
         protected boolean running = false;
         protected Graphics g = null;
         protected boolean verbose = false;
         public void init() {
              // Added by Karl
              servername = getCodeBase().getHost();
              int debug;
              String value;
              // Parameter auswerten
              value = getParameter("port");
              if( value != null ) {
                   try {
                        port = Integer.parseInt(value);
                   catch ( NumberFormatException e ) {
                             System.err.println( "Portnummer nicht erkannt: " + e.getMessage() );
                             System.err.println( "Benutze Portnummer 7649." );
                             port = 7649;
              else {
                   port = 7649;
              value = getParameter("debug_mode");
              if( value != null ) {
                         try {
                                 debug = Integer.parseInt(value);
                         catch ( NumberFormatException e ) {
                                       debug = 0;
              else {
                   debug = 0;
              if ( (debug & 0x1) == 0x1 ) {
                        System.out.println( "Debug-Mode: passiv");
              else {
                   // Hostname der Videoquelle ermitteln
                        servername = getCodeBase().getHost();
              if( (debug & 0x2) == 0x2 ) {
                        System.out.println( "Debug-Mode: verbose");
                        verbose = true;
              value = getParameter("chanid");
              if( value != null ) {
                         try {
                                 chanid = Integer.parseInt(value);
                         catch ( NumberFormatException e ) {
                                 System.err.println( "Channel-ID nicht erkannt: " + e.getMessage() );
                                 System.err.println( "Benutze ID 0." );
                                       chanid = 0;
              else {
                   chanid = 0;
              // Panel initialisieren
              setBackground(Color.white);
              resize( 160, 190 );
              System.out.println( "JavaCU 1.3a by Thomas Wagner 8.96, https://wiki.fsi.fh-trier.de/Umstellung_Domain_Fachschaft_Informatik~wagner/javacu/" );
         public void start() {
              InetAddress Server;
              running = true;
              try {
                   // Sender starten
                         if( servername != null ) {
                        Server = InetAddress.getByName( servername );
                        sendSocket = new DatagramSocket();
                                 Sender = new Send( this, Server, port, chanid );
                        Sender.start();
                   // Empfaenger starten
                   recvSocket = new DatagramSocket( port );
                         Empfaenger = new Receive( this, chanid );
                   Empfaenger.start();
                    catch ( UnknownHostException e ) {
                            System.err.println("Server unbekannt: " + e.getMessage());
              catch ( SocketException e ) {
                   System.err.println( "Probleme mit UDP-Socket: " + e.getMessage());
         public void stop() {
              // Sender stoppen
              running = false;
                    if( Sender != null ) {
                   Sender = null;
                    if( servername != null ) {
                   sendSocket.close();
              // Empfaenger stoppen
                    if( Empfaenger != null ) {
                   Empfaenger = null;
              recvSocket.close();
         public void paint ( Graphics g ) {
              String text;
              this.g = g;
              if( Empfaenger.bild != null ) {
                   g.drawImage( Empfaenger.bild, 0, 0, this);
                        text = Empfaenger.name();
                        if( text != null ) {
                                g.drawString( text, 8, 140 );
              text = Empfaenger.status1();
                        if( text != null ) {
                                g.drawString( text, 8, 160 );
              text = Empfaenger.status2();
                        if( text != null ) {
                                g.drawString( text, 8, 180 );
         public String[][] getParameterInfo() {
              String info[][] = {
                             {"port", "int", "NV-UC-PORT"},
                             {"chanid", "int", "Conference ID"},
                             {"debug_mode", "bitmapped", "bit 0: receive only, bit 1: verbose"}
              return info;
         public String getAppletInfo() {
              return "JavaCU 1.3a by Thomas Wagner 8.96, https://wiki.fsi.fh-trier.de/Umstellung_Domain_Fachschaft_Informatik~wagner/javacu/";
    class Receive extends Thread {
         protected Image bild = null;
         private int pixel[] = new int[19200];
         private MemoryImageSource image_producer = null;
         private int image[] = new int[19200];
         private byte data[] = new byte[8192];
         private long rowdata; // vorl?�ufig hier
         private JavaCU javacu = null;
         private int chanid = 0;
         private DatagramPacket recvPacket = null;
         private String status1, status2, name;
         private int rh_sync = 0;
            protected Receive( JavaCU javacu, int chanid ) {
              // minimale Prioritaet um regelmaessigen Bildschirmaufbau zu ermoeglichen
              try {
                   setPriority(MIN_PRIORITY);
              catch ( IllegalArgumentException e ) {
                   System.err.println("Veraendern der Prozessprioritaet misslungen: " + e.getMessage());
              this.javacu = javacu;
              this.chanid = chanid;
         public void run() {
                 int data_pos, len, i;
              image_producer = new MemoryImageSource(160, 120, pixel, 0, 160);
              while( javacu.running ) {
                   len = recv_data();
                   data_pos = parse_header( len );
                   if( data_pos >= 0 ) {
                        decode( data_pos, len );
                        if( rh_sync == 1 ) {
                             for( i = 0; i < (19200); i++ ) {
                                  pixel[i] = 0xff << 24 | image*16 << 16 | image[i]*16 << 8 | image[i]*16;
                        bild = javacu.createImage(image_producer);
                             if( bild != null && javacu.g != null ) {
                                  javacu.g.drawImage( bild, 0, 0, javacu);
    public String name() {
    return name;
    public String status1() {
    return status1;
    public String status2() {
    return status2;
         private int recv_data() {
              try {
                   if( javacu.running == false ) {
                        System.err.println("Fehler! Lesen nach stop.");
                   } else {
                   recvPacket = new DatagramPacket( data, 8192 );
                        javacu.recvSocket.receive( recvPacket );
              catch ( IOException e ) {
                   if( javacu.running ) {
                        System.err.println( "Fehler beim Empfangen: " + e.getMessage());
                   return 0;
              return recvPacket.getLength();
         int avgpos = 0;
         long totseq=0, totpkts=0, totframes=0, tottime=0, totbytes=0;
         long laststamp=0, lastrecv=0;
         int startseq[] = new int[8];
         int maxseq[] = new int[8];
         long pkts[] = new long[8];
         long frames[] = new long[8];
         long time[] = new long[8];
         long bytes[] = new long[8];
         int sender_id = -1;
         private int parse_header( int len ) {
              int rh_vers, rh_chanid, rh_opts, rh_content, rh_seq;
              long sec, fraction, rh_ts;
              int rsh_id = -1;
              int roh_fin = 0, roh_type = 0, roh_optlen = 0;
              int rtsh_id = 0;
              int rtsh_addr[] = new int[4];
              int opts = 0, off = 8, i = 0;
              byte hilf[] = new byte[80];
              long lastflush = 0;
              Date d = null;
              boolean ignore = false;
              // Statistik Variablen
              long tdiff, tsdiff;
              int seqdiff, data_len, maxseq_help;
              // RTP-Paketkopf auslesen
              rh_vers = uint8(data[0]) >>> 6;
              rh_chanid = uint8(data[0]) & 0x3f;
              if( rh_chanid != chanid ) {
                   //ignore = true;
              rh_opts = uint8(data[1]) >>> 7;
              rh_sync = (uint8(data[1]) >>> 6) & 0x1;
              rh_content = uint8(data[1]) & 0x3f;
              rh_seq = uint8(data[2]) << 8 | uint8(data[3]);
              sec = (uint8(data[4]) & 0xff) << 8 | (uint8(data[5]) & 0xff);
              fraction = (uint8(data[6]) & 0xff) << 8 | (uint8(data[7]) & 0xff);
              rh_ts = (sec & 0xffff) << 16 | (fraction & 0xffff);
              opts = rh_opts;
              // Erweiterungen des RTP-Paketkopfes auslesen
              while( opts == 1 ) {
                   roh_fin = uint8(data[off]) >>> 7;
                   roh_type = uint8(data[off]) & 0x7f;
                   roh_optlen = uint8(data[off+1]);
                   if( roh_type == 1 ) {
                        rsh_id = uint8(data[off+2]) << 8 | uint8(data[off+3]);
                        // Nur ersten Sender auswerten
                        if( sender_id == -1 ) {
                             sender_id = rsh_id;
                        if( rsh_id != sender_id ) {
                             ignore = true;
                   if( roh_type == 33 ) {
                        rtsh_id = uint8(data[off+2]) << 8 | uint8(data[off+3]);
                        // Nur ersten Sender auswerten
                        if( sender_id == -1 ) {
                             sender_id = rtsh_id;
                        if( rtsh_id != sender_id ) {
                             ignore = true;
                        i = 0;
                        while (data[i+off+8] != '\0') {
                             hilf[i] = data[i+off+8];
                             i++;
                        hilf[i] = '\0';
                        if( !ignore ) {
                             name = new String(hilf, 0, i);
                   opts = 1 - roh_fin;
                   off = off + 4*roh_optlen;
              // Ausgabe des Paketkopfes auf die Java-Console
              if( javacu.verbose ) {
                   if( ignore ) {
                        System.out.println("Falsches Paket! Paketlaenge: "+ len );
                   else {
                        System.out.println("Paketlaenge: "+ len );
                   System.out.println("vers: "+rh_vers+", chan: "+rh_chanid+", opts: "+rh_opts+", sync: "+rh_sync+", cont: "+rh_content+", seq: "+rh_seq);
                   System.out.print("time: "+rh_ts);
                   if( rh_opts == 1 ) {
                        System.out.print(", fin: "+roh_fin+", type: "+roh_type+", optlen: "+roh_optlen);
                        if (roh_type == 1) {
                             System.out.print(", id: "+rsh_id);
                        if (roh_type == 33) {
                             System.out.print(", id: " + rtsh_id + ", name: " + name);
                   System.out.println("");
              // Statistik Berechnung
              tsdiff = rh_ts - laststamp;
              if( tsdiff < 0) {
                   System.err.println("Altes Paket!");
                   ignore = true;
              if( !ignore ) {
                   d = new Date();
                   tdiff = d.getTime() - lastrecv;
                   lastrecv = d.getTime();
                   data_len = len - off;
                   seqdiff = rh_seq - startseq[avgpos];
                   if( (seqdiff > 50) || (seqdiff < -50)) {
                        startseq[avgpos] = rh_seq;
                        maxseq[avgpos] = rh_seq-1;
                        pkts[avgpos] = 0;
                        seqdiff = 0;
                   if (seqdiff >= 0) pkts[avgpos]++;
                   if ((rh_seq - maxseq[avgpos]) > 0) maxseq[avgpos] = rh_seq;
                   frames[avgpos] += rh_sync;
                   time[avgpos] += tdiff;
                   bytes[avgpos] += data_len;
                   /* Berechnung der Durchschnittswerte der letzten 8 Sekunden */
                   if (time[avgpos] >= 1000) {
                        maxseq_help = maxseq[avgpos];
                        /* aktuelle Werte zu den letzten 7 addieren */
                        totseq += maxseq_help-startseq[avgpos]+1;
                        totpkts += pkts[avgpos];
                        totframes += frames[avgpos];
                        tottime += time[avgpos];
                        totbytes += bytes[avgpos];
                        avgpos = (avgpos+1) % 8;
                        /* Durchschnittswerte berechnen */
                        if ((time[avgpos] != 0) && (totseq != 0)) {
                             status1 = ("frames/s: " + (( (int)(10000.*totframes/tottime) )/10.));
                             status2 = ("kb/s: " + (( (int)(80.*totbytes/tottime) )/10.) + ", lost: " + (100-100*totpkts/totseq) + "%");
                             /* 8-aelteste Werte subtrahieren */
                             totseq -= (maxseq[avgpos]-startseq[avgpos]+1);
                             totpkts -= pkts[avgpos];
                             totframes -= frames[avgpos];
                             tottime -= time[avgpos];
                             totbytes -= bytes[avgpos];
                        /* Variabeln fuer aktuelle Werte initialisieren */
                        startseq[avgpos] = maxseq_help+1;
                        maxseq[avgpos] = maxseq_help;
                        pkts[avgpos] = 0;
                        frames[avgpos] = 0;
                        time[avgpos] = 0;
                        bytes[avgpos] = 0;
              if( ignore ) {
                   return -1;
              else {
                   return 8+4*roh_optlen;
         private int uint8( byte arg ) {
              int i;
              // unsigned char in int umwandeln
              if( arg < 0 ) {
                   i = arg + 256;
                   return i;
              return (int)arg;
         private void decode( int data_pos, int len ) {
              int type;
              if( len - data_pos < 2 ) return;
              type = uint8(data[data_pos++]) << 8 | uint8(data[data_pos++]);
              if( type != 1 ) {
                   //System.err.println("decode(): Unknown type: " + type);
              else {
                   // Fuer jedes Quadrat in data decode_square aufrufen
                   while( (data_pos < len) && (data_pos != 0) ) {
                        data_pos = decode_square( data_pos, len );
         private int decode_square( int data_pos, int len ) {
              int square, x, y, image_pos, code_pos, row;
              square = uint8(data[data_pos++]) << 8 | uint8(data[data_pos++]);
              if( square > 300 ) return 0;
              x = square % 20;
              y = square / 20;
              image_pos = y*8*160+x*8;
              code_pos = data_pos;
              data_pos += 4;
              rowdata = 0x88888888;
              // Fuer jede Zeile des Quadrats decode_row aufrufen
              for( row = 0; row < 8; row += 2 ) {
                   data_pos = decode_row(image_pos, data_pos, (uint8(data[code_pos]) >> 4) );
                   data_pos = decode_row(image_pos+160, data_pos, (uint8(data[code_pos++]) & 0xf) );
                   image_pos += 320;
              return data_pos;
         private int decode_row( int image_pos, int data_pos, int code ) {
              int intraRowBytes[] =
              { -1,
              -1, 0, 1,
              -1, 0, 1,
              -1, 0, 1,
              -1, 0, 1,
              -1, 0, 1 };
              long interRowDiff[] =
              { 0x00000000,
              0xDDDDDDDE, 0xEEEEEEEF, 0x00000000,
              0xEEEEEEEF, 0x00000000, 0x11111111,
              0x00000000, 0x11111111, 0x22222222,
              0x11111111, 0x22222222, 0x33333333,
              0x22222222, 0x33333333, 0x44444444 };
              int wordDiff[] =
              { 0x0000, 0x0001, 0x0002, 0x0003, 0x0010, 0x0011, 0x0012, 0x0013,
              0x0020, 0x0021, 0x0022, 0x0023, 0x0030, 0x0031, 0x0032, 0x0033,
              0x0100, 0x0101, 0x0102, 0x0103, 0x0110, 0x0111, 0x0112, 0x0113,
              0x0120, 0x0121, 0x0122, 0x0123, 0x0130, 0x0131, 0x0132, 0x0133,
              0x0200, 0x0201, 0x0202, 0x0203, 0x0210, 0x0211, 0x0212, 0x0213,
              0x0220, 0x0221, 0x0222, 0x0223, 0x0230, 0x0231, 0x0232, 0x0233,
              0x0300, 0x0301, 0x0302, 0x0303, 0x0310, 0x0311, 0x0312, 0x0313,
              0x0320, 0x0321, 0x0322, 0x0323, 0x0330, 0x0331, 0x0332, 0x0333,
              0x1000, 0x1001, 0x1002, 0x1003, 0x1010, 0x1011, 0x1012, 0x1013,
              0x1020, 0x1021, 0x1022, 0x1023, 0x1030, 0x1031, 0x1032, 0x1033,
              0x1100, 0x1101, 0x1102, 0x1103, 0x1110, 0x1111, 0x1112, 0x1113,
              0x1120, 0x1121, 0x1122, 0x1123, 0x1130, 0x1131, 0x1132, 0x1133,
              0x1200, 0x1201, 0x1202, 0x1203, 0x1210, 0x1211, 0x1212, 0x1213,
              0x1220, 0x1221, 0x1222, 0x1223, 0x1230, 0x1231, 0x1232, 0x1233,
              0x1300, 0x1301, 0x1302, 0x1303, 0x1310, 0x1311, 0x1312, 0x1313,
              0x1320, 0x1321, 0x1322, 0x1323, 0x1330, 0x1331, 0x1332, 0x1333,
              0x2000, 0x2001, 0x2002, 0x2003, 0x2010, 0x2011, 0x2012, 0x2013,
              0x2020, 0x2021, 0x2022, 0x2023, 0x2030, 0x2031, 0x2032, 0x2033,
              0x2100, 0x2101, 0x2102, 0x2103, 0x2110, 0x2111, 0x2112, 0x2113,
              0x2120, 0x2121, 0x2122, 0x2123, 0x2130, 0x2131, 0x2132, 0x2133,
              0x2200, 0x2201, 0x2202, 0x2203, 0x2210, 0x2211, 0x2212, 0x2213,
              0x2220, 0x2221, 0x2222, 0x2223, 0x2230, 0x2231, 0x2232, 0x2233,
              0x2300, 0x2301, 0x2302, 0x2303, 0x2310, 0x2311, 0x2312, 0x2313,
              0x2320, 0x2321, 0x2322, 0x2323, 0x2330, 0x2331, 0x2332, 0x2333,
              0x3000, 0x3001, 0x3002, 0x3003, 0x3010, 0x3011, 0x3012, 0x3013,
              0x3020, 0x3021, 0x3022, 0x3023, 0x3030, 0x3031, 0x3032, 0x3033,
              0x3100, 0x3101, 0x3102, 0x3103, 0x3110, 0x3111, 0x3112, 0x3113,
              0x3120, 0x3121, 0x3122, 0x3123, 0x3130, 0x3131, 0x3132, 0x3133,
              0x3200, 0x3201, 0x3202, 0x3203, 0x3210, 0x3211, 0x3212, 0x3213,
              0x3220, 0x3221, 0x3222, 0x3223, 0x3230, 0x3231, 0x3232, 0x3233,
              0x3300, 0x3301, 0x3302, 0x3303, 0x3310, 0x3311, 0x3312, 0x3313,
              0x3320, 0x3321, 0x3322, 0x3323, 0x3330, 0x3331, 0x3332, 0x3333 };
              long longDiff[] =
              { 0x00000000, 0x00000001, 0x00000010, 0x00000011,
              0x00000100, 0x00000101, 0x00000110, 0x00000111,
              0x00001000, 0x00001001, 0x00001010, 0x00001011,
              0x00001100, 0x00001101, 0x00001110, 0x00001111,
              0x00010000, 0x00010001, 0x00010010, 0x00010011,
              0x00010100, 0x00010101, 0x00010110, 0x00010111,
              0x00011000, 0x00011001, 0x00011010, 0x00011011,
              0x00011100, 0x00011101, 0x00011110, 0x00011111,
              0x00100000, 0x00100001, 0x00100010, 0x00100011,
              0x00100100, 0x00100101, 0x00100110, 0x00100111,
              0x00101000, 0x00101001, 0x00101010, 0x00101011,
              0x00101100, 0x00101101, 0x00101110, 0x00101111,
              0x00110000, 0x00110001, 0x00110010, 0x00110011,
              0x00110100, 0x00110101, 0x00110110, 0x00110111,
              0x00111000, 0x00111001, 0x00111010, 0x00111011,
              0x00111100, 0x00111101, 0x00111110, 0x00111111,
              0x01000000, 0x01000001, 0x01000010, 0x01000011,
              0x01000100, 0x01000101, 0x01000110, 0x01000111,
              0x01001000, 0x01001001, 0x01001010, 0x01001011,
              0x01001100, 0x01001101, 0x01001110, 0x01001111,
              0x01010000, 0x01010001, 0x01010010, 0x01010011,
              0x01010100, 0x01010101, 0x01010110, 0x01010111,
              0x01011000, 0x01011001, 0x01011010, 0x01011011,
              0x01011100, 0x01011101, 0x01011110, 0x01011111,
              0x01100000, 0x01100001, 0x01100010, 0x01100011,
              0x01100100, 0x01100101, 0x01100110, 0x01100111,
              0x01101000, 0x01101001, 0x01101010, 0x01101011,
              0x01101100, 0x01101101, 0x01101110, 0x01101111,
              0x01110000, 0x01110001, 0x01110010, 0x01110011,
              0x01110100, 0x01110101, 0x01110110, 0x01110111,
              0x01111000, 0x01111001, 0x01111010, 0x01111011,
              0x01111100, 0x01111101, 0x01111110, 0x01111111,
              0x10000000, 0x10000001, 0x10000010, 0x10000011,
              0x10000100, 0x10000101, 0x10000110, 0x10000111,
              0x10001000, 0x10001001, 0x10001010, 0x10001011,
              0x10001100, 0x10001101, 0x10001110, 0x10001111,
              0x10010000, 0x10010001, 0x10010010, 0x10010011,
              0x10010100, 0x10010101, 0x10010110, 0x10010111,
              0x10011000, 0x10011001, 0x10011010, 0x10011011,
              0x10011100, 0x10011101, 0x10011110, 0x10011111,
              0x10100000, 0x10100001, 0x10100010, 0x10100011,
              0x10100100, 0x10100101, 0x10100110, 0x10100111,
              0x10101000, 0x10101001, 0x10101010, 0x10101011,
              0x10101100, 0x10101101, 0x10101110, 0x10101111,
              0x10110000, 0x10110001, 0x10110010, 0x10110011,
              0x10110100, 0x10110101, 0x10110110, 0x10110111,
              0x10111000, 0x10111001, 0x10111010, 0x10111011,
              0x10111100, 0x10111101, 0x10111110, 0x10111111,
              0x11000000, 0x11000001, 0x11000010, 0x11000011,
              0x11000100, 0x11000101, 0x11000110, 0x11000111,
              0x11001000, 0x11001001, 0x11001010, 0x11001011,
              0x11001100, 0x11001101, 0x11001110, 0x11001111,
              0x11010000, 0x11010001, 0x11010010, 0x11010011,
              0x11010100, 0x11010101, 0x11010110, 0x11010111,
              0x11011000, 0x11011001, 0x11011010, 0x11011011,
              0x11011100, 0x11011101, 0x11011110, 0x11011111,
              0x11100000, 0x11100001, 0x11100010, 0x11100011,
              0x11100100, 0x11100101, 0x11100110, 0x11100111,
              0x11101000, 0x11101001, 0x11101010, 0x11101011,
              0x11101100, 0x11101101, 0x11101110, 0x11101111,
              0x11110000, 0x11110001, 0x11110010, 0x11110011,
              0x11110100, 0x11110101, 0x11110110, 0x11110111,
              0x11111000, 0x11111001, 0x11111010, 0x11111011,
              0x11111100, 0x11111101, 0x11111110, 0x11111111 };
              int intra;
              long pix;
              // Daten einer Zeile eines Quadrats in Grauwerte umrechnen
              if (code == 0) {
                   pix = uint8(data[data_pos++]);
                   rowdata = pix << 24;
                   image[image_pos++] = 0xf - (int)(pix >> 4);
                   image[image_pos++] = 0xf - (int)(pix & 0xf);
                   pix = uint8(data[data_pos++]);
                   rowdata += pix << 16;
                   image[image_pos++] = 0xf - (int)(pix >> 4);
                   image[image_pos++] = 0xf - (int)(pix & 0xf);
                   pix = uint8(data[data_pos++]);
                   rowdata += pix << 8;
                   image[image_pos++] = 0xf - (int)(pix >> 4);
                   image[image_pos++] = 0xf - (int)(pix & 0xf);
                   pix = uint8(data[data_pos++]);
                   rowdata += pix;
                   image[image_pos++] = 0xf - (int)(pix >> 4);
                   image[image_pos++] = 0xf - (int)(pix & 0xf);
              else {
                   rowdata -= interRowDiff;
                   intra = intraRowBytes;
                   if( intra > 0 ) {
                        rowdata += (wordDiff[uint8(data[data_pos++])] << 16) | wordDiff[uint8(data[data_pos++])];
                   else if( intra == 0 ) {
                        rowdata += longDiff[uint8(data[data_pos++])];
                   image[image_pos++] = 0xf - (int)(rowdata >> 28);
                   image[image_pos++] = 0xf - (int)((rowdata >> 24) & 0xf);
                   image[image_pos++] = 0xf - (int)((rowdata >> 20) & 0xf);
                   image[image_pos++] = 0xf - (int)((rowdata >> 16) & 0xf);
                   image[image_pos++] = 0xf - (int)((rowdata >> 12) & 0xf);
                   image[image_pos++] = 0xf - (int)((rowdata >> 8) & 0xf);
                   image[image_pos++] = 0xf - (int)((rowdata >> 4) & 0xf);
                   image[image_pos++] = 0xf - (int)(rowdata & 0xf);
              return data_pos;
    class Send extends Thread {
    private JavaCU javacu;
         private InetAddress Server;
         private int port;
         private int chanid = 0;
         private byte data[] = new byte[8192];
         private boolean init = false;
    protected Send( JavaCU javacu, InetAddress Server, int port, int chanid ) {
              // Argumente speichern/auswerten
              this.javacu = javacu;
              this.Server = Server;
              this.port = port;
    if( chanid >= 0 && chanid < 64 ) {
    this.chanid = chanid;
    public void run() {
    int len, id;
              Random generator = new Random();     
    DatagramPacket sendPacket;
              id = generator.nextInt();
              if( id < 0 ) {
                   id = -id;
              while ( javacu.running ) {
                   len = fill_header( id );
                   sendPacket = new DatagramPacket( data, len, Server, port );
                   try {
                        javacu.sendSocket.send( sendPacket );
                   catch ( IOException e ) {
                        System.err.println("Fehler beim Senden: " + e.getMessage());
                   try {
                        sleep( 5000 );
                   catch ( InterruptedException e ) {
                        System.err.println("Ausnahme waerend sleep(): " + e.getMessage());
         private int fill_header( int id ) {
              InetAddress Local = null;
              int hilf[] = new int[32];
    int seq = 0, i = 0;
    long ts_long = 0, ts_long_ms = 0, ts_long_sec = 0, ts_long_hilf = 0;
    Date d = null;
              // konstanten Teil des RTP-Kopfes beim ersten Aufruf fuellen
              if( init == false ) {
                   init = true;
                   hilf[0] = (1 << 6) + chanid;     // rh_vers:2, rh_chanid:6
                   hilf[1] = (1 << 7) + 27;     // rh_opts:1, rh_sysnc:1, rh_content:6
                   hilf[8] = (1 << 7) + 33;     // rtsh_fin:1, rtsh_type:7
                   hilf[9] = 3;               // rtsh_optlen
                   hilf[10] = (id >> 8) & 0xff;     // rtsh_id
                   hilf[11] = id & 0xff;          // rtsh_id
                   try {
                        Local = InetAddress.getLocalHost();
                        hilf[12] = Local.getAddress()[0]; // rtsh_addr
                        hilf[13] = Local.getAddress()[1]; // rtsh_addr
                        hilf[14] = Local.getAddress()[2]; // rtsh_addr
                        hilf[15] = Local.getAddress()[3]; // rtsh_addr
                   catch ( UnknownHostException e ) {
                        System.err.println("Send.fill_header(): getLocalHost, " + e.getMessage());
                        hilf[12] = 0; // rtsh_addr
                        hilf[13] = 0; // rtsh_addr
                        hilf[14] = 0; // rtsh_addr
                        hilf[15] = 0; // rtsh_addr
                   hilf[16] = 'J'; // rtsh_name
                   hilf[17] = 'a';
                   hilf[18] = 'v';
                   hilf[19] = 'a';
                   hilf[20] = 'C';
                   hilf[21] = 'U';
                   hilf[22] = '\0';
                   // int in unsigned char umwandeln
                   for ( i = 0; i < 2; i++) {
                        if ( hilf[i] < 128 ) {
                             data[i] = (byte)hilf[i];
                        else if ( hilf[i] < 256 ) {
                             data[i] = (byte)(-256+hilf[i]);
                        else {
                             System.err.println("cast-Fehler1: " + i);
                   for ( i = 8; i <= 22; i++) {
                        if ( hilf[i] < 128 ) {
                             data[i] = (byte)hilf[i];
                        else if ( hilf[i] < 256 ) {
                             data[i] = (byte)(-256+hilf[i]);
                        else {
                             System.err.println("cast-Fehler2: " + i);
              // veraenderlichen Teil des RTP-Kopfes fuer jedes RTP-Paket neu erzeugen
              hilf[2] = seq >>> 8; // rh_seq
              hilf[3] = seq & 0xff;
              seq++;
              // RTP-Zeit berechnen
              d = new Date();
              ts_long_hilf = d.getTime();
              // Sekunden seit 1.1.1900, 0 Uhr ermitteln
              ts_long_sec = ts_long_hilf/1000 + (long)2208988800.;
              ts_long_ms = ts_long_hilf - (ts_long_hilf/1000)*1000;
              // jeweils 16 Bit fuer ganze Sekunden und Nachkommateil
              ts_long = ts_long_sec << 16 | ts_long_ms * 65536 / 1000;
              hilf[4] = (int)((ts_long >>> 24) & 0xff); // rh_ts
              hilf[5] = (int)((ts_long >>> 16) & 0xff);
              hilf[6] = (int)((ts_long >>> 8) & 0xff);
              hilf[7] = (int)(ts_long & 0xff);
              // int in unsigned char umwandeln
              for ( i = 2; i < 8; i++) {
                   if ( hilf[i] < 128 ) {
                        data[i] = (byte)hilf[i];
                   else if ( hilf[i] < 256 ) {
                        data[i] = (byte)(-256+hilf[i]);
                   else {
                        System.err.println("cast-Fehler3: " + i);
              return 23;
    sorry that the comments are in german , maybe its a good start to translate it to english first.
    But i will try it first.
    My questions is there any API that i can use ? or anything similar that i can modify ?
    any hints or help would be greatly appreciated.
    You can try connect to my reflector with any cuseeme client of your choice
    http://www.inforoots.org:8080/internet/cuseeme/
    or try the latest vchat version for osx
    http://homepage.mac.com/vchat/download.html
    REFLECTOR ADRESS IS
    let.dyndns.tvor view my informative website.
    http://www.let.de
    regards

    Annis,
    One of the other things to keep in mind is that the generation of an image does take some computing power so having the generation and the acquistion on the same machine is not always ideal. If you're using the machine that is publishing the front panel just to collect data it's not so much of an issue.
    If you really want to monitor in "Real-Time" using Remote Panels (requies LabVIEW 6.1) is your best option. This posting has more information on using Remote Panels and links to some live examples:
    http://exchange.ni.com/servlet/ProcessRequest?RHIVEID=101&RPAGEID=135&HOID=506500000008000000C0660000&UCATEGORY_0=_49_%24_6_&UCATEGORY_S=0&USEARCHCONTEXT_TIER_0=0&USEARCHCONTEXT_TIER_S=0&USEARCHCONTEXT_QUESTION_0=web+control&USEARCHCONTEXT_QUESTION_S=0
    Remote panels makes it possible to control the application remotely as well.
    With .monitor the only way I've been able to manually refresh is to "Shift+Refresh" on the browser.
    Regards,
    Kamran

  • A question regarding using a JDBC class to connect with cloud service database

    Hello,
    I am currently working on a small scale cloud service report where the company I chose is obviously Oracle. My question is regarding the cloud service in the following way. I was doing my report with the free trial until it just came to me that
    why not to do a small one class program with my netBeans or Eclipse that uses JDBC but I am not sure what username, password and the url to use in the connection to retrieve, manipulate and store values. Can somebody help me please if this is possible or not?
    edit: Anyone please? I have a deadline in 15.8. and could create something great until then if I get the anwser in few days

    To correct my question, I already have the oracle account and I created the cloud service trial account with database and java section.

  • Moving a class into a package?

    hi,
    is there a way through which I can move an existing class inside a newly created package?
    Best Regards,
    Tarun

    Hi Tarun,
      Go to se80.
    Give your classname by chosing the Class/Interface from the list box.
    Then right click on the class->Other Functions->Change Package Assignment.
    Then click on the pecil button to go to the cjhange mode. Give the name of the new package in place of the old.
    Regards,
    Ravi

  • Problem puting class into a package

    I have the following two *.java files:
    Chess.java
    package chessgame;
    public abstract class Chess{
    Rook.java
    package chessgame;
    class Rook{
    Here's what I got from jdk:
    G:\java\ChessGame>javac Chess.java
    G:\java\ChessGame>javac Rook.java
    Rook.java:3: cannot resolve symbol
    symbol : class Chess
    location: class chinesechess.Rook
    public class Rook extends Chess{.......
    What may be wrong? I do put the "package chessgame;" on the beginning of each *.java fiels.

    G:\java\ChessGame>javac Chess.java
    G:\java\ChessGame>javac Rook.java
    Rook.java:3: cannot resolve symbol
    symbol : class Chess
    location: class chinesechess.Rook
    public class Rook extends Chess{.......
    Actually, to do it right you should be compiling with
    G:\java\>javac chessgame/Chess.java
    and
    G:\java\>javac chessgame/Rook.java
    (or alternatively G:\java\chessgame>javac -d . *.java)
    This is explained with more detail in the document [url http://java.sun.com/j2se/1.4/docs/tooldocs/windows/classpath.html]Setting The Classpath.
    Also, your package is called "chessgame" but the directory name seems to be "ChessGame", that might cause problems because java is case sensitive...
    Your classpath should be fine if you haven't touched it, but if you are in doubt use "-classpath ." in the above commands.

  • Does loading too many classes into jvm slow down performance?

    hi all,
    does loading too many classes into jvm will slow down performance. Our application is CPU bound, if we use any framework we need to load all the classes related to that framework in JVM. Does this have any effect on the performance of the JVM.
    thanks and regards,
    akmal

    does loading many classes into jvm slow down performance.It will increase the time it takes for the JVM to load your application.
    Our application is CPU boundThe time it takes the JVM to load your application is not likely to be an issue for you then.

  • Breaking Down Classes Into Files

    I'd like to know what's considered best practice when dividing multiple classes into seperate files. I know you can have only one public class per file, and I've heard some people say it's best to have one class per file, period. But the one-class-per-file rule seems overly strict.
    To give a specific example, I have a class which manages event handlers and event generators. The class receives events and delegates them to one of its registered handlers. The handlers can, in turn, spawn new events by calling the event generators, which have package access.
    Currently, I have the handlers, the generators, and the public class which manages them all in one file, which I know is not good, especially since some of the handlers and some of the generators are fairly large classes in their own right. However, it would be silly (I think) to put every handler and every generator in its file, because some of them are almost trivially small, and none of them have public access. But what is the best way to break them down: Should I put the handlers all in one file, and the generators all in one file, giving me three files total? Or are there other principles that should guide me?
    Thanks for any thoughts,
    John

    That's a good point. Although, as you said, it
    doesn't really apply in my case. That is, if I put
    all the handlers in a file called EventHandlers.java,
    that should be pretty clear for me. And, in fact, it
    would probably be easier to work with the classes if
    they are all in one file.But what do you think about when I say reuse? Don't you think that one class per file will make it easier to reuse the classes? As it is now you have to take them all. Since you have things that are in common for them I would say that you must have interfaces, and abstract classes. Couldn't they be reused in another project? So there are benefits even in small projects. It's also better to have many files if there are several developers and your version manager doesn't allow multiple checkouts of the same file.
    >
    Also, you mentioned sub-packages. I'm assuming
    classes in sub-packages do not have access to their
    parent's package-access members. What I really would
    like is to prevent any classes except the event
    handlers from accessing my EventManager's generator
    members. Could you solve that problem in another way? Why do they need access to the EventManager?
    Are you saying I should put all the other
    classes in a sub-package? I say that you should put related classes in sub-packages. Look at the package structure of the java core (can be seen in the javadoc)
    /Kaj

  • Question regarding mic plugged into audio in/optical digital audio in port

    So I have this external headset... headphone/mic set combo... I plug the headphone jack in the headphone slot and the mic jack in the audio in/optical digital audio in port slot in the back of my IMAC. I go to my system preferences select "sound" and "line in - Audio line in port". But when recording, it's still recording from the internal mic? How do I just record just from the external mic??? What am I doing wrong? I've read all the other questions regarding how to get the external mics to work, but it's still recording from the internal mic? Help?
      Mac OS X (10.4.9)  

    I never expected APPLE wouldn't make a mac that didn't have a proper mic jack?
    It has a proper one, a good one, a professional one, not the toy that comes with most PCs. Apple has used line level analog audio input for years.
    From Wikipedia;Line level is a term used to denote the strength of an audio signal used to transmit analog sound information between audio components such as CD and DVD players, TVs, audio amplifiers, and mixing consoles.
    In contrast to line level, there are weaker audio signals, such as those from microphones and instrument pickups, and stronger signals, such as those used to drive headphones and loudspeakers. The strength of the various signals does not necessarily correlate with the output voltage of a device; it also depends on the source's output impedance, or the amount of current available to drive different loads.

  • Query regarding Replicated Caches that Persist on Disk

    I need to build a simple fault tolerant system that will replicate cache
    entries across a small set of systems. I want the cache to be persistent
    even if all cluster members are brought down.
    Is this something that requires writing a custom CacheStore implementation
    or is there a configuration that I can use that uses off-the-shelf pluggable
    caches? The documentation was somewhat vague about this.
    If I need or want to write my own CacheStore, when there is a cache write-through
    operation how does Coherence figure out which member of the cluster will do
    the actual work and persist a particular object?

    Hi rhanckel,
    write-through and cache stores are not supported with replicated caches, you need to use partitioned (distributed) cache for cache stores.
    You can use a number of out-of-the-box cache stores (Hibernate, TopLink, etc) or you can write your own if you don't find a suitable one. Configuration is the same, you need to specify the cache store class name appropriately in the <cache-store-scheme> child element of the <read-write-backing-map> element.
    You can look at the documentation for it on the following urls:
    http://wiki.tangosol.com/display/COH34UG/cachestore-scheme
    http://wiki.tangosol.com/display/COH34UG/read-write-backing-map-scheme
    http://wiki.tangosol.com/display/COH34UG/Read-Through%2C+Write-Through%2C+Write-Behind+Caching+and+Refresh-Ahead
    As for how Coherence figures out which member needs to write:
    in a partitioned cache, each cache key has an owner node which is algorithmically determined from the key itself and the distribution of partitions among nodes (these two do not depend on the actual data in the cache). More specifically, any key is always mapped to the same partition (provided you did not change the partition-count or the partition affinity-related settings, although if you did the latter, then it is arguably not the same key anymore). Therefore Coherence just needs to know, who owns a certain partition. Hence, the owner of that partition is the owner of the key, and that node is tasked with every operation related to that key.
    Best regards,
    Robert

  • Ignore some fields while saving a Java class into XML

    Hi!
    I've seen in this forum that there is an easy way of saving Java classes to XML files using Castor. I want to save some Java classes into XML, but not all the fields of the class. For example, I want to ignore all lists. Is there any easy way to do something like this:
    class Java2XML{
              public static void makeXML(Object object)
                        for all fields in object
                                  if field extends List, ignore
                                  else, include field in XML
    }Thanks in advance!

    You can add a managed bean by:
    - manually adding a definition in the faces config source tab.
    - creating a bean in the overview tab of the faces-config editor.
    So yes, you can edit the faces-config manually.
    I hope this answer your question,
    Regards,
    Koen Verhulst

  • X230: Questions regarding included 32GB msata SSD

    Spoiler (Highlight to read)
    Hi... I've got a couple of questions regarding the X230 offered in Singapore, which comes with a msata ssd:
    "Up to 5x Boost 32GB Micro Solid State Drive Outperforms 5400rpm Drive "
    I AM assuming this is a msata ssd?
    http://shopap.lenovo.com/SEUILibrary/controller/e/sgweb/LenovoPortal/en_SG/special-offers.workflowho...
    1) Given the limited size of this msata SSD (32GB), can I assume that only the operating system (Win 7) is installed here by default?
    What about the folders under "My Documents", "My Pictures" and etc. Are they also installed into the SSD by default? I tend to leave all my work documents in that file, and it fills up pretty fast.
    2) I assume that the recovery partition is still located in the 320GB SATA HDD(7200rpm)?
    3) When I do a recovery from the Lenovo rescue/recovery programme (from the recovery partition), will Win 7 install correctly into the SSD, and not the HDD.
    4) If I do a factory recovery using the recovery DVDs (which I will create as soon as I receive the x230), will everything be installed correctly? Windows 7 to SSD and recovery partition to HDD?
    Thank you for your time!

    the expressways software would make the 32 gigs mSATA a drive cache for the main HDD. Nothing is really installed on the mEATS, only files that are frequently used or predicted to be used frequently will be replicated on the mSATA.
    Regards,
    Jin Li
    May this year, be the year of 'DO'!
    I am a volunteer, and not a paid staff of Lenovo or Microsoft

  • How to guarantee that all events regarding Data Cache are dispatched when application is terminating? Urgent

    Hello,
    we have the phenomena that when an application is commiting a transaction and then terminating,
    often not all events regarding Data Cache are dispatched by the TCP kodo.RemoteCommitProvider.
    It seems that the JVM on termination is not waiting until RemoteCommitProvider has dispatched all events regarding Data
    Cache. In this way we sometimes loose some cache synchronization and some of our customers run into serious problems.
    Is there a way to guarantee that all Data Cache events are dispatched before the aplciation terminates
    (maybe implementing a shutdown hook?).
    best regards
    Guenther Demetz
    Wuerth-Phoenix SRL

    Hi,
    as nobody answered to my question I try to explain it more simple:
    Are the TCP-kodo.RemoteCommitProvider threads acting as user threads or as threads of type 'deamon' ?
    I hope that soon someon can answer
    best regards
    Guenther Demetz
    Wuerth-Phoenix SRL
    G.Demetz wrote:
    Hello,
    we have the phenomena that when an application is commiting a transaction and then terminating,
    often not all events regarding Data Cache are dispatched by the TCP kodo.RemoteCommitProvider.
    It seems that the JVM on termination is not waiting until RemoteCommitProvider has dispatched all events regarding Data
    Cache. In this way we sometimes loose some cache synchronization and some of our customers run into serious problems.
    Is there a way to guarantee that all Data Cache events are dispatched before the aplciation terminates
    (maybe implementing a shutdown hook?).
    best regards
    Guenther Demetz
    Wuerth-Phoenix SRL

  • Question regarding the installation of a J2EE 6.40 Add-in

    Hi all,
    I would like to install a J2EE engine on a test instance of ECC 5.0 and have a few questions regarding the installation...
    Do I have to use the MASTER CD to first install the J2EE engine (Support Package 0) and then apply the latest support packages found on the SAP Marketplace?
    Or should be able to directly install the J2EE Add-In by using the latest support packages found on the SAP Marketplace?
    Best regards,
    Xavier Vermaut

    Thanks Bhavik for your reply,
    That's what I actually thought but I get the following problem... Here's what I wrote into my customer message... I am still waiting for an answer and would like to get this solved ASAP
    Dear SAP,
    We would like to install the J2EE 6.40 Add-In on our ECC 5.0 instance
    (TST) but get the following error message at the very beginning of the
    installation
    > Cannot find an installed ABAP system, which is a prerequisite for a
    > J2EE Add-In installation. The installation cannot continue.
    We checked the installation logs (sapinst_dev.log) and found the
    following :
    > Found these instances:
    > sid: MGR, number: 00, name: DVEBMGS00, host: erpqs1a
    > sid: TST, number: 10, name: DVEBMGS10, host: erpqs1a
    Why does the installation say that it can not find any ABAP systems when
    having previously found the 2 different instances running on this
    server?
    Would this problem be related to the fact that we have two instances on
    this server?
    Please find hereunder the way we performed this installation :
    01) Download of the 4 different parts of SAP J2EE Engine 6.40 SP 10
         (Solaris 10 - Oracle)
         Part I   : SAPINST10_0-20000121.SAR         (Solaris 64)
         Part II  : CTRLORA10_0-20000121.SAR         (Solaris 64)
         Part III : J2EERTOS10_0-20000121.SAR        (Solaris 64)
         Part IV  : J2EERT10_0-10001982.SAR          (OS Independant)
    02) Extract these 4 archives into /install/J2EE_640
    03) Check Java Version and Environment Variables
    04) Check Solaris Pre-Requisites
    05) Adapt "product.xml" as specified in OSS Note 697535 (IGS)
    06) Log in as 'root'
    07) Set DISPLAY environment Variable
    08) Move to the Installation directory
          ( /install/J2EE_640/SAPINST-CD/SAPINST/UNIX/SUNOS_64 )
    09) ./sapinst
    10) In the 'Welcome to Netweaver Installation' screen, select
          => Dialog Instance Finalization
    Any idea how to get this solved?
    Best regards,
    Xavier Vermaut
    Message was edited by: Xavier Vermaut

Maybe you are looking for