Accessing method in thread

Hi all,
I've got a multicast sender and reciever working, where I collect IP address's of other PC's who are running my application. I would like to access the list of IP's and allow the user to chose an IP address to connect to using a socket to run another thread using a socket whilst continuing listening to more multicast's :)
I have tested my code and the IP's are definately getting added to the list but my problem is accessing them. Here's my code, along with actual output :)
MulticastListener:
import java.io.*;
import java.net.*;
import java.util.Timer;
import java.util.TimerTask;
import java.util.ArrayList;
class MulticastListener extends Thread
Timer timer;
     public MulticastListener(int seconds)
          timer=new Timer();
          timer.scheduleAtFixedRate(new MulticastListen(), 0, seconds*1000);
     class MulticastListen extends TimerTask
          ArrayList<String> ipAddress=new ArrayList<String>();
          public void run()
               InetAddress group=null;
               int port=0;
               //BufferedReader sa = new BufferedReader(new InputStreamReader(System.in));
               System.out.println("Starting Multicast Listener");
               try
                    group=InetAddress.getByName("239.255.255.255");
                    port=20000;
               catch (Exception ex)
                    System.out.println("Usage: multicast_address port");
               //System.out.println("Creating Multicast socket");
               MulticastSocket ms=null;
               InetAddress is=null;
               try
                    is=InetAddress.getLocalHost();
               catch (Exception ex)
                    System.out.println(ex);
               String ip="/"+is.getHostAddress();
               System.out.println("local ip is " +ip);
               try
                    ms=new MulticastSocket(port);
                    ms.joinGroup(group);
                    byte [] buffer=new byte[2];
                    System.out.println("setting up datagram packet");
                    while (true)
                         DatagramPacket dp=new DatagramPacket(buffer,buffer.length);
                         ms.receive(dp);
                         System.out.println("received" + dp.getAddress());
                         InetAddress dpAddress=dp.getAddress();
                         String strAddress=dpAddress.toString();
                         if (!(strAddress.equalsIgnoreCase(ip)))
                              if (!(ipAddress.contains(strAddress)))
                                   ipAddress.add(dp.getAddress().toString());     
                         String [] ipAddressArray=(String[])ipAddress.toArray(new String[ipAddress.size()]);
                         for (int i=0;i<ipAddressArray.length;i++)
                              System.out.println(ipAddressArray);
                         System.out.println("Press Y");
                         //if ((sa.readLine().equalsIgnoreCase("Y")||(sa.readLine().equalsIgnoreCase("y"))))
                         //     System.out.println("yay");
                         //System.out.println("missed");
               catch (IOException ex)
                    System.err.println(ex);
               finally
                    if (ms!=null)
                         try
                              System.out.println("listener closing");
                              ms.leaveGroup(group);
                              ms.close();
                         catch (IOException ex)
          public ArrayList <String> getList()
               return ipAddress;
}MulticastSender:import java.util.Timer;
import java.util.TimerTask;
import java.io.*;
import java.net.*;
public class MulticastSender extends Thread
     Timer timer;
     InetAddress ipAddr=null;
     String ipAddress=null;
     public MulticastSender(int seconds)
          timer=new Timer();
          timer.scheduleAtFixedRate(new MulticastSend(),0,seconds*1000);
     class MulticastSend extends TimerTask
          public void run()
               InetAddress ia=null;
               int port=0;
               byte ttl=(byte)1;
               System.out.println("Starting multicast sender");
               try
                    ia=InetAddress.getByName("239.255.255.255");
                    port=20000;
               catch (Exception ex)
                    System.err.println(ex);
                    System.err.println("Usage: multicast_address port");
               byte [] data="S".getBytes();
               DatagramPacket dp=new DatagramPacket(data,data.length,ia,port);
/*               try
                    MulticastSocket ms=new MulticastSocket();
                    ms.joinGroup(ia);
                    ms.send(dp,ttl);
                    ms.leaveGroup(ia);
                    ms.close();
               catch (SocketException ex)
                    System.err.println(ex);
               catch (IOException ex)
                    System.err.println(ex);
               data="GameRequest".getBytes();
               dp=new DatagramPacket(data,data.length,ia,port);
               System.out.println("Sending message to multicast reciever server:"+ data);
               try
                    System.out.println("sneding messenge");
                    MulticastSocket ms=new MulticastSocket();
                    ms.joinGroup(ia);
                    ms.setBroadcast(true);
                    ms.send(dp,ttl);
                    ms.leaveGroup(ia);
                    ms.close();
                    System.out.println("out");
               catch (SocketException ex)
                    System.err.println(ex);
               catch (IOException ex)
                    System.err.println(ex);
}Main:class Main
     public static void main (String [] args)
          MulticastListener ML=new MulticastListener(10);
          MulticastSender MS=new MulticastSender(10);
          ML.start();
          MS.start();
Actual output:Starting Multicast Listener
Starting multicast sender
sneding messenge
out
local ip is /192.168.1.101
setting up datagram packet
received/192.168.1.102
/192.168.1.102
Press Y
Starting multicast sender
sneding messenge
out
received/192.168.1.101
/192.168.1.102
Press Y
received/192.168.1.102
/192.168.1.102
Press Y
Starting multicast sender
sneding messenge
out
received/192.168.1.101
/192.168.1.102
Press Y
received/192.168.1.102
/192.168.1.102
Press YCheers,
Ben                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Hi,
If I understand you correctly, you have a list which your timer listen each time through multicast listener
ArrayList<String> ipAddress=new ArrayList<String>();
The above list changes and it contains IP addresses which are other PCs using your applciation.
The user will come and look at the list and pick up an IP address from the list and open a socket connection with the hostname
I have refactord the code to be
class MulticastListener extends TimerTask
  Timer timer;
  List<String> ipAddress;
     public MulticastListener(int seconds)
          timer=new Timer();
           ipAddress=new ArrayList<String>();
          timer.scheduleAtFixedRate(this, 0, seconds*1000);
      public void run()
//   ..etc..... simlilar to the Sender class
/ / and the main is
class Main
     public static void main (String [] args)
          MulticastListener ML=new MulticastListener(10);
          MulticastSender MS=new MulticastSender(10);
          List<String> ips = ML.getList();
          // get the list
          Foo foo = new Foo("ip");
          Thread t = new Thread(foo,"Foo");
          t.start();
static class Foo implements Runnable {
       private String ip;
       public Foo(String ip) {
            this.ip = ip;
       public void run() {
            // you have the ip
            // open the socket here
}It is just an idea which is reflected through the code, Please let me know if I missed any point
Regards,
Alan Mehio
London, UK

Similar Messages

  • [FOREXAM] Accessing methods of a dead thread?

    Could anyone explain me why it is possible to access methods of a dead thread?
    Marco

    >
    If the thread is accessible from your program -- ie,
    you have a reference to the Thread object -- then it
    won't be GC'd.Ok, let's immagine the following situation:
    void methodA(Runnable aR){
    Thread aT = new Thread(aR);
    at.start();
    .. //The Thread is doing something
    ..//Now the Thread is dead for some reasons(completed or terminated)
    //What can I do here with at? Can I still use it?
    Marco

  • Queue access method for In-memory databases

    Hi,
    I am trying to use the Queue access method for an in-memory database
    with no backing file. Here is the how I've created the environment and
    the database.
    int env_flags_create = DB_CREATE | DB_INIT_LOG | DB_INIT_LOCK |
    DB_INIT_MPOOL |DB_INIT_TXN |
    DB_SYSTEM_MEM | DB_RECOVER | DB_THREAD ;
    ret = env->set_shm_key(env, 17);
    ret = env->open(env, R_"in-mem-env", env_flags, 0644);
    int db_flags = DB_CREATE | DB_THREAD | DB_AUTO_COMMIT;
    DB_MPOOLFILE *mpf = subs_db->get_mpf(subs_db);
    mpf->set_flags(mpf, DB_MPOOL_NOFILE, 1);
    ret = queue_db->set_re_len(queue_db, 512);
    ret = queue_db->open(queue_db, NULL, NULL, "queue", DB_QUEUE,
    db_flags, 0644);
    My application has one reader threads and one writer thread. The
    writer write to the queue with the "DB_APPEND" flag and the reader
    consumes the queue using the "DB_CONSUME_WAIT" flag.
    After inserting a few thousand messages the database fails to insert
    any new records and starts returning the following error.
    "unable to allocate space from the buffer cache"
    From the db_stat -e output (attached below) I can see that none of
    the buffer cache pages are ever being freed up.
    149907 Requested pages found in the cache (99%)
    3 Requested pages not found in the cache
    2004 Pages created in the cache
    0 Pages read into the cache
    0 Pages written from the cache to the backing file
    0 Clean pages forced from the cache
    0 Dirty pages forced from the cache
    0 Dirty pages written by trickle-sync thread
    2004 Current total page count
    0 Current clean page count
    2004 Current dirty page count
    4099 Number of hash buckets used for page location
    153851 Total number of times hash chains searched for a page
    BDB reference manual (http://www.oracle.com/technology/documentation/
    berkeley-db/db/api_c/frame.html) says that the pages associated with a
    queue can only be reclaimed by setting a queue extent by using the
    "set_q_extentsize" method. When I try to use this method on my in-
    memory database I get the following error.
    " Extent size may not be specified for in-memory queue database"
    Does this mean that I can never use the queue access method for in-
    memory database? Because no matter how big of a shared memory pool I
    allocate to the in-memory database it will eventually get used up by
    the queue (if I'm inserting and consuming records) and there is no way
    to free up the pages associated with the deleted records.
    thx
    nina

    As far as I know you can choose any method as long as print setting are set to "send to spool"
    Regards
    Juan

  • Best Access Method and Estimated Performance

    Dear folks,
    I'm new to BDB. Although I have read all the documentation and the DS Presentation from Margo, I would like to ask your help to tunne my db layout.
    I have to index 1 million key/data pairs in wich key is a logical number and data is 256 lenght (64 int array).
    The size of the database is around 200MB. After the initial seed of data, the data will be READ ONLY. No need for concurrent access. One C program will acess the DB (single threaded).
    I'm running on a Dual Xeon 3.2 GHz with 4 gb RAM.
    I've choosen to use the QUEUE ACCESS METHOD (since I'm using logical numbers as key and a fixed data size).
    I need to randomly access 140.000 keys in the DB.
    As I've read from the documentation this would be accomplished in less than a second.
    I would like to ask you what would be the expected retrieval time (number of keys/second) for my case (millions of 256 bytes data, with default configuration options) and if QUEUE is the best choice.
    From my implementation test the c program takes a considerable amount of time the first time it queries (dpb->get) the database for 140.000 keys (is this the so called COLD START?). The successive times I run the program querying the DB with different 140.000 random keys it becames faster for each new run (is this because I'm warming up the cache?).
    I'm using default configuration values for all tunning params: cache, mmapsize, etc...
    Would it be possible to load the whole DB in memory before querying it with dpb->get? Would it make the 140.000 querying process faster?
    I've tryied to iterate trough every record with a cursor and it takes around 5 seconds the first time and then gets faster on the successive runs. I've also tryied to iterate through every page to "warm up" the process before querying the 140.000 keys but did not have a great improvement.
    My goal is to query 140.000 random keys from the DB as fastest as possible. (Be it changing by choosing a more appropriate access method, be it for tunning the config parameters).
    I appreciate your help.
    Maurice S.

    Thank you Michael for your reply!!!
    I've seen the thread regarding the strategy of openning the mpool file and iterating through the pages.
    I've implemented that sucessfully (that reduced the total time required to perform the "get's" and also make this time a CONSTANT of around 0.5 seconds).
    My implementation works the following way:
    1) First I create the DB_ENV pointer
    1.A) All my dbs are in a folder called "dbs". Therefore I call dbenv->set_data_dir appropriatelly
    1.B) dbenv->set_mp_mmapsize(dbenv,300*1024*1024); (each DB has 183 MB)
    1.C) I set the cache size to the smallest possible value dbenv->set_cachesize(dbenv, 0, 20 *1024, 0); [as I've read through the forum about similar cases]
    1.D) Finally dbenv->open(dbenv, "db",DB_CREATE | DB_RDONLY| DB_INIT_MPOOL, 0))
    2) Then I call the db (wich has 700.000 records; with for 4 bytes for each key, and 260 bytes for each data)
    2.A) db_create(&dbs[c], dbenv, 0))
    2.B) dbs[c]->set_re_len(dbs[c],260)
    2.C) dbs[c]->set_pagesize(dbs[c], 64*1024))
    2.D) dbs[c]->open(dbs[c],NULL, database, NULL, DB_QUEUE, DB_RDONLY, 0664))
    Then I do the "mpool file iteration":
    .....all the code from that thread.....
    DB_MPOOLFILE* mfp =NULL;
    mfp = dbs[c]->get_mpf(dbs[c]);
    db_pgno_t lastPageNum;
    void* pageAddr;
    mfp->get(mfp, &lastPageNum, NULL, DB_MPOOL_LAST, &pageAddr);
    mfp->put(mfp, pageAddr, DB_PRIORITY_UNCHANGED, 0);
    db_pgno_t pageNum=0;
    for(pageNum=0; pageNum<=lastPageNum; pageNum++)
    mfp->get(mfp,&pageNum, NULL, 0, &pageAddr);
    mfp->put(mfp,pageAddr, DB_PRIORITY_UNCHANGED,0);
    And then I get 140.000 random records:
    DBT key, data;
    for(k=0;k<140000;k++)
    db_recno_t recno=rand()%700000;
    memset(&key, 0, sizeof(DBT));
    memset(&data, 0, sizeof(DBT));
    key.data = &recno;
    key.size = sizeof(recno);
    int dc[65];
    data.data = dc;
    data.ulen = sizeof(dc);
    data.flags = DB_DBT_USERMEM;
    dbp->get(dbp, NULL, &key, &data, 0);
    It takes around 0.5 seconds to perform all 140.000 random GET's.
    I have 20 DB's like the one described above.
    Changing the code above in order to use another one of the 20 DB's results in the same EXECUTION TIME (around 0.5 seconds).
    Is this the performance that you would expect from BDB? 280.000 random accessess per second in a 700.000 records QUEUE DB with 260 bytes data field?
    Is there any other parameters I could tunne to improve performace?
    Would BTREE acess method perform better ? (I could index the record numbers as strings: "00000001", "00000002", ..... )
    I do appreciate your attention.
    Hope my post can be a source for help to other BDB users, as the forum has been to me.
    Best rgs,
    Maurice S.

  • Related to insertion into HASH access method

    Hi,
    I have four multi-threaded processes (2 writer and 2 reader processes), which make use of Berkeley DB transactional data store. I have multiple environments and the associated database and log files are located in separate directories.
    Database access method used is DB_HASH.
    When I looked into stack trace of the Writer process, following is observed:
    A] Indicates insertion into HASH database
    ffffffff7b9a84f4 _pwrite (65, fffffffea28bc6e0, 2000, 3e18000, 7358, 7357) + c
    ffffffff7c667bec __os_io (104c58c80, 3e18000, 104c9f140, 1f0c, 2000, 0) + 29c
    ffffffff7c650fb0 __memp_pgwrite (104c58c80, 104c9c250, fffffffea00e4d98, fffffffea28bc698, 0, 2000) + 200
    ffffffff7c650aa4 __memp_bhwrite (104c58c80, 104c9c250, fffffffea03829e8, fffffffea28bc698, 0, 100c559c0) + 454
    ffffffff7c64fa84 __memp_alloc (fffffffea00e4dc4, fffffffea00e4d98, 1852e6, 0, 104c58c80, fffffffea0000138) + 72c
    ffffffff7c65360c __memp_fget (104ca1a50, 104ca4b54, 0, fffffffea0384c18, 0, fffffffea0000138) + 1bdc
    ffffffff7c5909ac __ham_get_cpage (104ca4920, 0, 104ca4b60, 104ca1a50, 104ca4b40, 104ca14d0) + 1c4
    ffffffff7c57d334 __ham_lookup (104ca4920, fffffffe3e3fb140, 1bb5, 2, fffffffe3e3fa4dc, 104ca4b40) + 74
    ffffffff7c57badc __hamc_put (104ca4920, fffffffe3e3fb140, fffffffe3e3fb118, 34, fffffffe3e3fa4dc, 104ca4b40) + ec
    ffffffff7c603230 __dbc_put (104ca4920, 28, e, 104ca4920, 104ca4920, ffffffff7c794508) + db0
    ffffffff7c5f538c __db_put (104ca14d0, 19f388, 104ca15d8, fffffffe3e3fb140, fffffffe3e3fb118, 0) + 21c
    ffffffff7c60e00c __db_put_pp (104c58c80, 0, fffffffe3e3fb140, fffffffe3e3fb118, 0, 104ca14d0) + 244
    00000001001079f0 __1cLBDBDatabaseGinsert6MrknDstdEpair4CpCC2__IkIIII_v_ (104c9c3a0, 0, 4, 7, 74, 4) + 178
    00000001001b83cc __1cIIndexSetKwriteIndex6MrkirnDstdDmap4n0BEpair4CpCC4__CIn0BEless4n0C___n0BJallocator4n0BEpair4Ckn0C_CI___
    ____i_ (1009ecf80, 104ca7398, 1069fbee0, 74, 45f29f466a48b, 10084bcd0) + b8
    00000001000af1e8 __1cLIndexWriterOpProcessObject6MpnDstdDmap4n0BEpair4CpCC2__CIn0BEless4n0C___n0BJallocator4n0BEpair4Ckn0C_C
    I_______v_ (104ca7240, 1069fbee0, fffffff71e49eb29, 92b0e8920, 100572990, 49587449) + 214
    00000001000b156c __1cbJManagerProducerThreadConsumersModel4nDstdDmap4n0AEpair4CpCC1__CIn0AEless4n0B___n0AJallocator4n0AEpair
    4Ckn0B_CI_______OpDoProcessHook6M_v_ (104ca7240, 1069fbee0, 1003d1, 0, 1005729e0, 1003d120c) + 250
    00000001002bc224 __1cKThreadBaseKmDoProcess6M_v_ (104ca7240, 10043d000, 1000b131c, 104ca72a0, 10043dc6d, 10020e90c) + 1ac
    00000001002bbf44 __1cKThreadBaseQmThreadMainChild6Fpv_1_ (104ca7240, 100572000, 10043d, 0, 10043dbcb, 1005729e0) + ec
    ffffffff7eb17c9c lwpstart (0, 0, 0, 0, 0, 0)
    B] Does the below stack trace indicate the insertion into HASH database? I am getting this doubt because the above and below mentioned stack traces
    differ. Can this happen when the access method used is DB_HASH or is it something to do with application flag / config settings? Please suggest.
    ffffffff7b9a71f4 _pread (65, fffffffeae356140, 2000, 129c8000, 81e6, 81e5) + c
    ffffffff7c667acc __os_io (104c58c80, 129c8000, 104c9f140, 94e4, 2000, 0) + 17c
    ffffffff7c650bfc __memp_pgread (104c9c250, fffffffea0079c58, fffffffeae3560f8, 0, 0, 104c58c80) + 90
    ffffffff7c653928 __memp_fget (104c9c250, 0, fffffffeae3560f8, fffffffea03829e8, 1, fffffffea0000138) + 1ef8
    ffffffff7c5619e8 __bam_get_root (104d1cde0, 2, 20002, 1000, fffffffe3e7fa1e4, 0) + d8
    * ffffffff7c5606ec __bam_rsearch (104d1cde0, 104d1d32c, 3242, 1, 104c9c250, 3242) + 44*
    * ffffffff7c560438 __ram_add (104d1cde0, 104d1d32c, fffffffe3e7fb118, 2, 0, 104d1d200) + 44*
    * ffffffff7c55ecb4 __ramc_put (104d1cde0, fffffffe3e7fb140, fffffffe3e7fb118, e, 0, 0) + 64*
    ffffffff7c6032c0 __dbc_put (104c9f200, 28, e, 104c9f200, ffffffff7c55ec50, e) + e40
    ffffffff7c5f538c __db_put (104c9bc60, 19f388, 104c9bd68, fffffffe3e7fb140, fffffffe3e7fb118, 0) + 21c
    ffffffff7c60e00c __db_put_pp (104c58c80, 0, fffffffe3e7fb140, fffffffe3e7fb118, 0, 104c9bc60) + 244
    00000001001079f0 __1cLBDBDatabaseGinsert6MrknDstdEpair4CpCC2__IkIIII_v_ (104c95790, 0, 4, 7, 74, 4) + 178
    00000001001b83cc __1cIIndexSetKwriteIndex6MrkirnDstdDmap4n0BEpair4CpCC4__CIn0BEless4n0C___n0BJallocator4n0BEpair4Ckn0C_CI___
    ____i_ (1009ecf80, 104ca6ee8, 105f8a580, 74, 45f29f466b002, 10084bcd0) + b8
    00000001000af1e8 __1cLIndexWriterOpProcessObject6MpnDstdDmap4n0BEpair4CpCC2__CIn0BEless4n0C___n0BJallocator4n0BEpair4Ckn0C_C
    I_______v_ (104ca6d90, 105f8a580, fffffff71e49eb29, 92b0e8920, 100572990, 49587449) + 214
    00000001000b156c __1cbJManagerProducerThreadConsumersModel4nDstdDmap4n0AEpair4CpCC1__CIn0AEless4n0B___n0AJallocator4n0AEpair
    4Ckn0B_CI_______OpDoProcessHook6M_v_ (104ca6d90, 105f8a580, 1003d1, 0, 1005729e0, 1003d120c) + 250
    00000001002bc224 __1cKThreadBaseKmDoProcess6M_v_ (104ca6d90, 10043d000, 1000b131c, 104ca6df0, 10043dc6d, 10020e90c) + 1ac
    00000001002bbf44 __1cKThreadBaseQmThreadMainChild6Fpv_1_ (104ca6d90, 100572000, 10043d, 0, 10043dbcb, 1005729e0) + ec
    ffffffff7eb17c9c lwpstart (0, 0, 0, 0, 0, 0)
    Details about the application are as follows:
    For Writer / Reader:
    Environment flags : DB_CREATE | DB_INIT_MPOOL | DB_THREAD | DB_INIT_LOCK | DB_INIT_TXN
    Following are the parameters to db-&gt;open function call:
    WRITER*
    DB-&gt;open(DB *db,
    DB_TXN *txnid, =&gt; NULL
    const char *file, =&gt; file name
    const char *database, =&gt; NULL
    DBTYPE type, =&gt; DB_HASH
    u_int32_t flags, =&gt; DB_READ_UNCOMMITTED | DB_AUTO_COMMIT | DB_CREATE | DB_THREAD
    int mode =&gt; 0);
    Also, DB_DUP flag is set.
    READER_
    DB-&gt;open(DB *db,
    DB_TXN *txnid, =&gt; NULL
    const char *file, =&gt; file name
    const char *database, =&gt; NULL
    DBTYPE type, =&gt; DB_UNKNOWN
    u_int32_t flags, =&gt; DB_READ_UNCOMMITTED | DB_RDONLY | DB_AUTO_COMMIT | DB_THREAD
    int mode =&gt; 0);
    DB_CONFIG file contents are as follows:
    set_cachesize 0 536870912 1
    set_lg_bsize 10485760
    set_data_dir DATADIR
    set_lg_dir LOGDIR
    set_lk_max_locks 100000
    set_lk_max_lockers 100000
    set_lk_max_objects 100000
    set_flags DB_REGION_INIT
    set_tx_max 150
    mutex_set_increment 7500
    Thanks,
    Magesh

    Hi Nandish,
    DB statistics were collected using the following command:
    db_stat -d <database name>
    When db_stat and db_verify utilities were run during the application runtime, both of them failed for most of the databases.
    Please find below sample output for db_stat and db_verify utilities for 'SUBID_P1_S1_FF3' DB:
    Sun Jan 4 07:55:28 2009 Local time
    db_stat: page 44972: illegal page type or format
    db_stat: PANIC: Invalid argument
    db_stat: PANIC: fatal region error detected; run recovery
    db_stat: close: DB_RUNRECOVERY: Fatal error, run database recovery
    db_stat: File handles still open at environment close
    db_stat: Open file handle: /opt/vol1/data/SUBID_P1_S1_FF3
    db_stat: PANIC: fatal region error detected; run recovery
    db_stat: dbenv->close: DB_RUNRECOVERY: Fatal error, run database recovery
    db_verify: Page 44972: duplicate page of inappropriate type 13
    db_verify: Page 20769: record count incorrect: actual 285, in record 286
    db_verify: Page 9337: bad record count: has 867 records, claims 868
    db_verify: Page 44497: record count incorrect: actual 88, in record 81
    db_verify: Page 21317: bad record count: has 670 records, claims 663
    db_verify: Page 4524: record count incorrect: actual 273, in record 275
    db_verify: Page 1141: bad record count: has 2601 records, claims 2603
    db_verify: Page 40872: record count incorrect: actual 380, in record 382
    db_verify: Page 20150: bad record count: has 962 records, claims 964
    db_verify: Page 44984: duplicate page of inappropriate type 0
    db_verify: Page 43953: record count incorrect: actual 9, in record 8
    db_verify: Page 9877: bad record count: has 591 records, claims 590
    db_verify: Page 44994: duplicate page of inappropriate type 0
    db_verify: Page 41115: record count incorrect: actual 100, in record 101
    db_verify: Page 9279: bad record count: has 682 records, claims 683
    db_verify: Page 44975: duplicate page of inappropriate type 13
    db_verify: Page 44997: duplicate page of inappropriate type 0
    db_verify: Page 8113: item 0 hashes incorrectly
    db_verify: Page 8113: item 4 hashes incorrectly
    db_verify: Page 8113: item 8 hashes incorrectly
    db_verify: Page 8143: item 40 hashes incorrectly
    db_verify: Page 8143: item 42 hashes incorrectly
    db_verify: Page 8143: item 46 hashes incorrectly
    db_verify: Page 8143: item 60 hashes incorrectly
    db_verify: Page 8143: item 62 hashes incorrectly
    db_verify: Page 39405: hash page has bad prev_pgno
    db_verify: Page 8145: item 4 hashes incorrectly
    db_verify: Page 8145: item 10 hashes incorrectly
    db_verify: Page 8145: item 20 hashes incorrectly
    db_verify: Page 8145: item 22 hashes incorrectly
    db_verify: Page 8145: item 28 hashes incorrectly
    db_verify: Page 8145: item 32 hashes incorrectly
    db_verify: Page 8145: item 38 hashes incorrectly
    db_verify: Page 8145: item 40 hashes incorrectly
    db_verify: Page 8145: item 48 hashes incorrectly
    db_verify: Page 44993: duplicate page of inappropriate type 0
    db_verify: Page 42178: record count incorrect: actual 581, in record 582
    db_verify: Page 40166: btree or recno page is of inappropriate type 13
    db_verify: Page 40166: record count incorrect: actual 0, in record 62
    db_verify: Page 9206: bad record count: has 2909 records, claims 2972
    db_verify: Page 44985: hash page has bad prev_pgno
    db_verify: Page 21250: record count incorrect: actual 494, in record 491
    db_verify: Page 9834: bad record count: has 1076 records, claims 1073
    db_verify: Page 39247: duplicate page of inappropriate type 13
    db_verify: Page 44973: duplicate page of inappropriate type 13
    db_verify: Page 20460: btree or recno page is of inappropriate type 13
    db_verify: Page 20460: record count incorrect: actual 0, in record 9
    db_verify: Page 20390: bad record count: has 4656 records, claims 4665
    db_verify: Page 44696: unterminated leaf chain
    db_verify: Page 43989: record count incorrect: actual 22, in record 21
    db_verify: Page 8917: bad record count: has 604 records, claims 603
    db_verify: Page 44982: hash page has bad prev_pgno
    db_verify: Page 45000: hash page has bad prev_pgno
    db_verify: Page 44981: duplicate page of inappropriate type 13
    db_verify: Page 44990: hash page has bad prev_pgno
    db_verify: Page 38676: record count incorrect: actual 107, in record 106
    db_verify: Page 4486: bad record count: has 689 records, claims 688
    db_verify: Page 39602: record count incorrect: actual 127, in record 129
    db_verify: Page 9202: bad record count: has 709 records, claims 711
    db_verify: Page 21291: record count incorrect: actual 175, in record 176
    db_verify: Page 4585: bad record count: has 757 records, claims 758
    db_verify: Page 44897: record count incorrect: actual 219, in record 95
    db_verify: Page 2259: bad record count: has 3129 records, claims 3005
    db_verify: Page 44987: duplicate page of inappropriate type 0
    db_verify: Page 44979: duplicate page of inappropriate type 13
    db_verify: Page 9055: duplicate page of inappropriate type 13
    db_verify: Page 44980: hash page has bad prev_pgno
    db_verify: Page 44971: duplicate page of inappropriate type 13
    db_verify: Page 39405: hash page referenced twice
    db_verify: Page 44995: duplicate page of inappropriate type 0
    db_verify: Page 38457: hash page has bad prev_pgno
    db_verify: Page 44986: duplicate page of inappropriate type 0
    db_verify: Page 44179: btree or recno page is of inappropriate type 13
    db_verify: Page 44179: record count incorrect: actual 0, in record 582
    db_verify: Page 44999: btree or recno page is of inappropriate type 0
    db_verify: Page 44999: record count incorrect: actual 0, in record 2
    db_verify: Page 4709: bad record count: has 0 records, claims 584
    db_verify: Page 41333: record count incorrect: actual 55, in record 54
    db_verify: Page 9531: bad record count: has 637 records, claims 636
    db_verify: Page 44970: hash page has bad prev_pgno
    db_verify: Page 38400: record count incorrect: actual 132, in record 131
    db_verify: Page 9811: bad record count: has 714 records, claims 713
    db_verify: Page 40735: duplicate page of inappropriate type 13
    db_verify: Page 44996: duplicate page of inappropriate type 0
    db_verify: Page 44998: hash page has bad prev_pgno
    db_verify: Page 44991: hash page has bad prev_pgno
    db_verify: Page 44988: duplicate page of inappropriate type 0
    db_verify: Page 44516: hash page has bad prev_pgno
    db_verify: Page 44976: duplicate page of inappropriate type 13
    db_verify: Page 43273: record count incorrect: actual 289, in record 280
    db_verify: Page 1082: bad record count: has 2035 records, claims 2026
    db_verify: Page 42154: record count incorrect: actual 78, in record 79
    db_verify: Page 18214: bad record count: has 660 records, claims 661
    db_verify: Page 44992: duplicate page of inappropriate type 0
    db_verify: Page 42067: record count incorrect: actual 496, in record 487
    db_verify: Page 2266: bad record count: has 2824 records, claims 2815
    db_verify: Page 43694: record count incorrect: actual 23, in record 26
    db_verify: Page 9294: bad record count: has 605 records, claims 608
    db_verify: SUBID_P1_S1_FF3: DB_VERIFY_BAD: Database verification failed
    After restarting the application, db_stat and db_verify utilities worked fine. Without running db_recover, if these commands are working fine means it is not a genuine case of database corruption.
    Is it something to do with the way in which db_stat and db_verify utilities work?
    We will also try using -h option for db_stat and db_verify utilities.
    Thanks,
    Magesh

  • Accesing methods from threads

    hi.
    Im trying to write a program that requires multithreading , I store each thread as an object in a vector to identify the thread because the threads are all initiated from the same class , heres the code:
    while(condition) {
    myThread thread = new myThread(); // myThread extends Thread
    vector.add(thread);
    how would i access a method from one of these threads?
    or is there a more efficient way without using vectors etc?

    what i mean by accessing methods is that there is
    only one class that extends Thread but i have create
    an instance of that class several times in the run
    method so the only way i can identifiy each class is
    by putting it in a vector but when i call
    vector.get(indexNo).methodname() the compiler spits
    it back out?I really don't know what you're saying here. If you're getting an error message from the compiler, paste it here, along with the relevant code, and an indication of which line it's complaining about.
    When you post code, please use[code] and [/code] tags as described in Formatting tips on the message entry page. It makes it much easier to read.
    And do go through that thread tutorial thoroughly. It may or may not answer your current specific question, but it will give you some fundamentals that are essential when doing multithreaded progamming.

  • Synchronized method in Thread

    Hi All,
    Can u show how to use synchronized method in thread.So that only one thread can access the resource at a time so that other needs to wait.Can u give me a sample example regarding this.So that it will be much more useful.
    Thanx,
    m.ananthu

    synchronized public void method1(){
    // code for the method....
    }Hope it helps.

  • Cannot access method

    I am creating a newinstance of a class I have created
    Test t = new Test();then accessing methods in the class that return values, e.g
    public String getDate()
    {return date2;}When I access this as t.getDate();, no problems.
    I then created a new method
    public int getTotal()
    {return totalMessages;}but when I try and access this as t.getTotal(); it says it cannot find this method. Is it to do with it returning an integer instead of a string?
    Thanks

    No. I think you just made a simple mistake in compiling. Save and recompile
    all your files. If the mistake is still there, post a complete, minimal example
    program demonstrating your error. It's impossible to spot the mistake when you
    post just snippets, since people are notorious for looking in the wrong places
    for an error -- if you looked in the right place, you would have found it and
    we wouldn't have this thread!

  • Error accessing method in 3rd party dll

    already asked for help a few weeks ago but no one answered and i still wasn't able to figure out what the problem...
    i have a 3rd party dll and im trying to access some methods (USING JNI)- i have no problem accessing methods with no parameters and they work fine but a method with parameters just wwont work.
    i guess that its something with my syntax - probably incorrect data type when converting from java type to native type...
    i dont have any previous expirience with c so help would be appriciated...
    heres my java code:
    package pavel2.javay;
    class Test {
        native String VersionGet();
        native String loadDll();
        native String LogInMT4(int account,String  pass,String server,String a,String v,String c,String d);
        static {
            System.loadLibrary("pavel2");
        public static void main(String args[]) {
            Test t = new Test();
            System.out.println(t.loadDll());
            System.out.println(t.LogInMT4(230622,"qd1bvvs","Orion-DEMO","","","",""));
    }and the dll wrapper:
    #include <windows.h>
    #include <C:\\Program Files\\Java\\jdk1.6.0_10\\include\\jni.h>
    #include <C:\\Program Files\\Java\\jdk1.6.0_10\\include\\win32\\jni_md.h>
    typedef char*   (*LogIn_MT4)( const int login, const char *password, const char *server, const char *proxyserver,
                   const char *proxytype, const char *proxylogin, const char *proxypassword);
    HINSTANCE hOle2Dll;
    JNIEXPORT jstring JNICALL Java_pavel2_javay_Test_loadDll(JNIEnv * env, jobject jobj){
         hOle2Dll = LoadLibrary(TEXT("D:\\pavel2\\tzmt4api.dll"));
         return  (*env)->NewStringUTF(env, "tzmt4api.dll loaded!!");
         /*if (OleInitialize(NULL) == S_OK)
              if ( hOle2Dll >= 32 )
                   //FreeLibrary ( hOle2Dll ) ;
    JNIEXPORT jstring JNICALL Java_pavel2_javay_Test_LogInMT4(JNIEnv * env, jobject jobj,jint login, jstring password, jstring server,jstring proxyserver,jstring proxytype,jstring proxylogin,jstring proxypassword){
                   LogIn_MT4 fnc ;
                   fnc = (LogIn_MT4)GetProcAddress ( hOle2Dll , "LogIn_MT4" ) ;
                   if ( fnc == NULL )
                        MessageBox(NULL, TEXT("Error loading Method"), TEXT("Error"), MB_OK);
                   else
                   const char *pass = (*env)->GetStringUTFChars(env, password, NULL);
                   const char *ser = (*env)->GetStringUTFChars(env, server, NULL);
                   const char *proxyserv = (*env)->GetStringUTFChars(env, proxyserver, NULL);
                   const char *proxyt = (*env)->GetStringUTFChars(env, proxytype, NULL);
                   const char *proxylog = (*env)->GetStringUTFChars(env, proxylogin, NULL);
                   const char *proxypass = (*env)->GetStringUTFChars(env, proxypassword, NULL);
                   int a=fnc(login, pass, ser, proxyserv,proxyt,proxylog,proxypass);
                   (*env)->ReleaseStringUTFChars(env, password, pass);
                   (*env)->ReleaseStringUTFChars(env, server, ser);
                   (*env)->ReleaseStringUTFChars(env, proxyserver, proxyserv);
                   (*env)->ReleaseStringUTFChars(env, proxytype, proxyt);
                   (*env)->ReleaseStringUTFChars(env, proxylogin, proxylog);
                   (*env)->ReleaseStringUTFChars(env, proxypassword, proxypass);
                   //return  (*env)->NewStringUTF(env, empty);
                   return  (*env)->NewStringUTF(env, "logged");
                             //int c = fnc(login, *password, *server, "", "", "", "");
    BOOL APIENTRY DllMain( HMODULE hModule,
                           DWORD  ul_reason_for_call,
                           LPVOID lpReserved
         switch (ul_reason_for_call)
         case DLL_PROCESS_ATTACH:
         case DLL_THREAD_ATTACH:
         case DLL_THREAD_DETACH:
         case DLL_PROCESS_DETACH:
              //todo: unregister class here
              break;
         return TRUE;
    }this is the output:
    tzmt4api.dll loaded!!
    # An unexpected error has been detected by Java Runtime Environment:
    # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0xcccccccc, pid=3792, tid=3824
    # Java VM: Java HotSpot(TM) Client VM (11.0-b15 mixed mode, sharing windows-x86)
    # Problematic frame:
    # C 0xcccccccc
    # An error report file with more information is saved as:
    # C:\Program Files\TradeZone\TZMT4APInew\Work\hs_err_pid3792.log
    # If you would like to submit a bug report, please visit:
    # http://java.sun.com/webapps/bugreport/crash.jsp
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    Process finished with exit code 1
    p.s - it looks like the login method works but when returning to java the VM crashes
    can anyone help me?

    jschell - tried this already and got the same ..
    ejp - i cant do this bucause i dont have a .lib and this proccess can run only on windows unfortunately...
    my problem is that i dont know the how to create the correct type for the method:
    this is the signature:
    typedef int  (*LogIn_MT4)( const int login, const char *password, const char *server, const char *proxyserver,
                   const char *proxytype, const char *proxylogin, const char *proxypassword);how do i create in c this var types?
    int a=fnc(1531, "asas", "asd", "","","","");how do i create
    const char *xxx type? and its okay for the int just to write a number or i also need to declare it?                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Can't printing in front-end when implement LOCL access method 'G'

    We are implementing ECC5.0 and print Purchase Order in normal status.But in recent,user print PO by long printer name with some trouble.So we check the notes,and it recommand us to implement access method 'G'.It seems every thing is OK on front-end printing.Still not work for printing PO on front-end output immediate.If we choose short printer name and access method 'F',it work fine.But SAP will no longer develop method 'F'.Please advise it.

    SAP PO is using background printing. SAP frontend print doesn't support background printing.
    As per SAP Frontend document, You cannot perform front-end printing in the background, as there is not connection to the front end.
    For this, you need to configure network printer.
    Thanks,
    Miral.

  • Front - end print with new access method G - having issues for some users

    Hi Gurus,
    Recently we have implemented the new access method G for front-end printing. it is working fine for 90% users in our company. but some users having problems in printing to WINDEFAULT using this new method.
    Here is the SAP GUI trace file for the error that they are getting.
    (Error)(25.09.09 15:42:36.444):    CALL METHOD "CreateControl"[DispID=5] OF [#1/0x0AE31790/1/{83658045-6571-3232-7082-797884697868}]
                        #0: LONG "101"
                        #1: STRING "SAPFPRINT.sapfprintCtrl.1"
                        #2: LONG "0"
                        #3: LONG "10"
    IDispatch::Invoke raised exceptionException occurred
    (Error)                       :   
    (Error)                       :    ****************************ERROR OCCURED IN MODULE: [{83658045-6571-3232-7082-797884697868}]******************************************************************************************************
    (Error)                       :    PROGRAM_ID                                 |MODULE_NAME              |METHOD_NAME       |ERROR DESCRIPTION         |VERSION                    |GUI VERSION               |MODULE_PATH              |
    (Error)                       :    *****************************************************************************************************************************************************************************************************
    (Error)                       :    {83658045-6571-3232-7082-797884697868}     |Class name not found     |CreateControl     |Create control failed     |Version info not found     |Gui Version not found     |Module doesnot exist     |
    (Error)                       :    *****************************************************************************************************************************************************************************************************
    (Error)                       :   
    (Error)                       :    Exception fire by :SAP Frontend Server
    (Error)                       :    Exception info:Create control failed
    (Error)                       :    Exception code:65535
    Did any one face this error? what could be the resolution?
    We are already on SAP GUI 710 patch level 11
    DISP+Work  : 229
    Appreciate your answers
    Thanks,
    Srini

    Usually this means, that some necessary controls are not properly registered in the registry and hence can't be found. You may solve that by removing the SAPGUI from the PC completely, booting the machine and reinstall the GUI.
    Markus

  • DB_HEAP access method with db_hotbackup utility

    I open a Db handle with DB_HEAP access method and do nothing about it . When first created , the db file is 8kb , but after excuting db_hotbackup utility the db file is 4kb. if I do db_hotbackup under the failover environment , BDB give me an error message :
         db_hotbackup: Backup Failed: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
         db_hotbackup: BDB5043 HOT BACKUP FAILED!
    Other access method is ok . I try to set the Db pagesize 8kb but still wrong .
    I think a db file is bigger than a page size. So it's hard to understand.
    Thanks

    Sorry about mix the two problems. Let me make it clearly :
    1 .Create an Environment contains an empty DB_HEAP database file with the code below.
         1.1 compile the code and mkdir "fileHome" for Environment direcotory,
         1.2 execute the program
    2. execute { db_hotbackup -h ./fileHome -b ./failover } . and in failover directory the database file will  become smaller than it in Environment direcotry.
    3. chang code { const char* fileHome = "fileHome"; } to { const char* fileHome = "failover"; }
    4. compile the changed code and execute again.( for creating region files in the failover directory)
    5. execute { db_hotbackup -h ./failover -b ./failover_back } after this we can see the wrong message :
               db_hotbackup: Backup Failed: BDB0075 DB_PAGE_NOTFOUND: Requested page not found
               db_hotbackup: BDB5043 HOT BACKUP FAILED!
    The problem I said on the previous time is I try to insert some record to the database but failed. I just wonder if this BDB version is not supportint DB_HEAP access method.
    The code is :
    #include<iostream>
    #include<cstring>
    #include<cstdlib>
    #include"db_cxx.h"
    int main()
      u_int32_t env_flags = DB_CREATE |
           DB_INIT_LOCK |
           DB_INIT_LOG |
           DB_INIT_TXN |
           DB_INIT_MPOOL;
      u_int32_t db_flags = DB_CREATE | DB_AUTO_COMMIT;
      const char* fileHome = "fileHome";
      const char* filename = "simpletxn.db";
      Db *dbp = NULL;
      DbEnv myEnv(0);
      try{
      myEnv.open(fileHome,env_flags,0);
      dbp = new Db(&myEnv,0);
      dbp->set_pagesize(8 * 1024);
      dbp->open(0,
       filename,
       NULL,
       DB_HEAP,
       db_flags,
       0);
      }catch(DbException& e){
      std::cerr<<"error when opening environment and database: "<<filename<<","<<fileHome<<std::endl;
      std::cerr<<e.what()<<std::endl;
      try{
      if(dbp != NULL)
      dbp->close(0);
      myEnv.close(0);
      }catch(DbException& e){
      std::cerr<<"error when closing environment and database: "<<filename<<","<<fileHome<<std::endl;
      std::cerr<<e.what()<<std::endl;
      return 0;
    Thanks !!!

  • How to know whether a method is thread-safe through the java-doc?

    In some book, it says that SAXParserFactory.newSAXParser() is thread-safe,but in the java-doc,it doesn't say that.
    newSAXParser
    public abstract SAXParser newSAXParser()
    throws ParserConfigurationException,
    SAXExceptionCreates a new instance of a SAXParser using the currently configured factory parameters.
    Returns:
    A new instance of a SAXParser.
    Throws:
    ParserConfigurationException - if a parser cannot be created which satisfies the requested configuration.
    SAXException - for SAX errors.
    I want to know, how to know whether a method is thread-safe?

    System.out is a PrintStream object. None of the methods there use the synchronized modifier, but if you look in the source code, you will find out it is thread-safe, because it will use synchronized blocks whenever it writes some text.
    The source code is in the src.jar file which you can extract.
    I didn't find any comments about that PrintStream is thread-safe in the API.

  • How can I get to know if a method is threads-safe?

    Hi, there.
    How can I get to know if a method is threads-safe?
    For example, in two different threads, is System.out.print() method safe or not?And where can I find the information with regard to this?
    thanks very much.

    System.out is a PrintStream object. None of the methods there use the synchronized modifier, but if you look in the source code, you will find out it is thread-safe, because it will use synchronized blocks whenever it writes some text.
    The source code is in the src.jar file which you can extract.
    I didn't find any comments about that PrintStream is thread-safe in the API.

  • Instance methods faster than sync. static methods in threaded env?

    consider the following please:
    (-) i have "lots" of instances of a single Runnable class running concurrently..
    (-) each instance uses a common method: "exponential smoothing" and they do a lot of smoothing.
    so:
    (option #1): include a "smooth()" instance method in the Runnable class.
    (option #2): include a "smooth()" synchronized static method in the Runnable class.
    (option #3): create a MathUtility class, and have "smooth()" as an instance method in this class.
    (option #4): make "smooth()" a synchronized static method in the MathUtility class.
    from OOP point of view, i think i should externalize "smooth()" to a MathUtility class, and then make
    is "synchronized static".
    but then from a performance point of view....
    would not it be optimal to make "smooth()" an instance method in MathUtility and then have each
    instance of the Runnable create its own MathUtility instance so that each thread has its own copy
    of the "smooth()" method??
    well, i can't image there would be a measurable difference so maybe i should not post.
    but, if there is a flaw in my thinking, please let me know.
    thanks.

    kogose wrote:
    from OOP point of view, i think i should externalize "smooth()" to a MathUtility class, and then make
    is "synchronized static".From an OOP point of view you should probably have a class that represents the data that provides a (non-static) smooth() method that either modifies the data or returns a new smoothed data object (depending on whether you want your data objects to be immutable or not).
    but then from a performance point of view....
    would not it be optimal to make "smooth()" an instance method in MathUtility and then have each
    instance of the Runnable create its own MathUtility instance so that each thread has its own copy
    of the "smooth()" method??No, methods are not "copied" for each instance. That just doesn't happen.
    well, i can't image there would be a measurable difference so maybe i should not post.If you don't know, then you should probably try it.
    but, if there is a flaw in my thinking, please let me know.The flaw in your thinking is that you can think that you can intuitively grasp the difference in performance of a change at that level.
    I have yet to meet anyone who can reliably do that.
    Performance optimization is not an intuitive task at that level and you should never do performance optimizations without proving that they are improvements for your particular use case.
    First part: Is the smooth() method really thread-unsafe? Does it use some shared state? My guess would be that it uses only local state and therefore doesn't need any synchronization at all. That would also be the fastest alternative, most likely.

Maybe you are looking for

  • How to use XQuery Exist() Function on a SSIS XML file

    I have a Package Inventory table that has an XML Column named CurrentPackageXML. This XML column contains the SSIS Package XML. I need to use the XQuery Exist() function to determine if the errorRowDisposition="IgnoreFailure" exists. Below I have a b

  • BUG : Creating Databound Hierarchy Search does not work in  11.1.2.1.0

    I've followed the example from Shay YouTube video and also from the development guide. "How to Create a Databound Search in a Hierarchy Viewer" http://docs.oracle.com/cd/E14571_01/web.1111/b31974/graphs_charts.htm#ADFFD22229 I drag and drop the Execu

  • Lose connection between computers on network through airport

    Our connection between computers on network goes down every day or so. Connection to internet stays ok. We restablished computer connection by cycling airport extreme off and on again.  Has been getting more frequent.  Any suggestions or help?  Fault

  • What will be the CoS priority for the options below?

    + voice + video interactive + video streaming + call signaling + ip routing + network management

  • Creative suite design premium 5.5のシリアルナンバーを入力する画面が出てきてPDFファイルが開けません.

    一昨日ぐらいからPDFファイルを開こうとすると.creative suite design premium 5.5のシリアルナンバーを入力する画面が出てきてPDFファイルが開けません. メモしておいたシリアル番号を入力しても違うようです. 何年か前に購入してずっと使っていたのですが.こういうふうになったのは初めてです. パソコンにはあまり詳しくないので問い合わせ方法などもよくわかりません. どういうふうにすれば元通りに使えるようになるのかおしえていただけると助かります. よろしくお願いします.