Private function should not call

I come across a strange thing in Java while doing Inheritance :
Problem is that when we have one super class with a public function in it
and a child class calling that function with its own object then everything
works fine.
But the problem arise when we modify super class function to make it private
and add some more "println()" just to know more clearly what is happening
now compile only super class .java file and try to execute child. u will
find it also work fine but private function should not call.
example (do as follow):
Before Changes
1) SuperClass.java
public class SuperClass
public SuperClass(){} //constructor
public void fun() // public function
System.out.println("Super class function called");
2) javac SuperClass.java
3) ChildClass.java
public class ChildClass extends SuperClass
public ChildClass() {} //constructor
public static void main(String [] args)
ChildClass c1 = new ChildClass();
c1.fun();
4) javac ChildClass.java
5) java ChildClass
Output :
Super class function called
After Change
1) SuperClass.java
public class SuperClass
public SuperClass(){} //constructor
private void fun() //private function ***** CHANGED ***********
System.out.println("Super class function called");
System.out.println("Newly added line is displayed");
2) javac SuperClass.java
3) java Child
output:
Super class function called
Newly added line is displayed
Why this "Newly added line is displayed" is in output ?
Probably you will say Child.java should also compile but we haven't make any
changes in it.
And question is that if we have old binary then we can easily bridge the
data hiding concept.
Please take me out of this problem.

Unlike C++, a subclass does not include all the methods/data of the super class.
Instead it is built from the sub class and all its super classes when loaded.
This means you can change a super class, or any class it refers to and the Child class is impacted by this.
The leason is always re-compile all the class which are effected by a change.
Using ant, maven or an IDE will do this.
You can plenty of stange behaviour by recompiling a parent class with compiling its children or the classes which depend on them.

Similar Messages

  • Application code should not call ensureCache as this may result in deadlock

    I'm seeing this on the coherence console. I don't think I'm calling ensureCache anywhere in my code.
    Oracle Coherence GE 3.4.2/411 <Warning> (thread=DistributedCache, member=4): Application code running on "DistributedCache" service thread(s) should not call ensureCache as this may result in deadlock. The most common case is a CacheFactory call from a custom CacheStore implementation.
    -Andrew

    Take a look at any CacheStore or EntryProcessor implementations you have. In general, it is a bad idea to try to operate on the same cache service while running on that service (e.g. from an EP).
    See here for more details:
    http://coherence.oracle.com/display/COH34UG/Constraints+on+Re-entrant+Calls

  • IDOC ABAP-PI Port Function Module not called

    HI all,
    i am using a scenario where i am sending (outbound) idocs via abap proxy to PI.
    I have assigned the function module to the abap-pi port.
    when i am trying to send a test idoc via we19, i get the message "IDoc '0000000000198029' transferred to ABAP-PSS port".
    but the function module (a copy of own_function)  doesn't get called. if i am testing the function module from se80 with the above mentioned idoc number '0000000000198029' everything is fine.
    in the partner profile i have added the corresponding idoc message type and selected to send idocs immediately. have i forgotten something in order to trigger the call of the function module ?
    br,
    martin

    Hello,
    I think it is not so easy to send IDoc to XI with ABAP-PSS-Port.
    I would try to create the IDoc and send it to XI-Port (Transactional RFC).
    This is SAP-Standard for IDoc-Scenario (SAP-R3 to XI).
    Best Regards, Dirk

  • DND QUESTION -- Drop Function is not called "I'm out of ideas".

    Please HElP!
    I'm trying to drag my Task object from one cell in a JTable to another.
    The dragEnter, dragGestureRecognized gets called but nothing happens after that. At times InvalidDndOperationException occurs but not always.
    Does anyone have any suggestions? I'm out of ideas.
    Thanks,
    Lu

    Found a solution!
    Lu

  • Failover callback not called when listener dies

    I need to create a RAC-aware Pro*C application.
    I got the preconfigured VirtualBox images with OL 5 and RAC nodes.
    The listener is installed on both machines too. They share a single IP address for the listener, which I added to the hosts file:
    192.168.56.201   rac-scan.localdomain    rac-scanActually, the cluster decides to create a virtual network adapter on one of the nodes and this address is assigned to it and then the listener becomes awailable. When this node dies, the cluster starts the listener on another node.
    I don't know, whether it's a proper way. I heard that the listener should be on a separate machine.
    But the problem is: when I turn off the node my client program is connected to, the failover callback function is not called. The next oracle operation fails with "ORA-03114: not connected to ORACLE".
    I followed http://docs.oracle.com/cd/A91202_01/901_doc/appdev.901/a89857/oci09adv.htm#428924 and https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&id=415245.1 to create the sample program that registers the callback.
    Could it be that the failover only works when the DB service fails, but not the listener?

    The problem was bad connection string

  • Print button should not perform its action in  report previewer

    Hi all,
    Report version 6i
    I am invoking a report from a form , the form has one status field ,the value can be NEW,APPROVED,CANCEL
    i just want take the print of the report if the status is approved , in all other cases the print button should be perform its action.
    that is , when user tries to print the report , its function should not happen.
    Please Guide.
    Thanks
    :8}
    Edited by: elegant on Jul 13, 2010 12:49 PM

    ADD_PARAMETER(param_list,'DISABLEPRINT','YES');
    ADD_PARAMETER(param_list,'DISABLEMAIL','YES');
    if you want to enable it give
    ADD_PARAMETER(param_list,'ENABLEPRINT','YES');
    ADD_PARAMETER(param_list,'ENABLEMAIL','YES');

  • Not calling the action method??

    hi ..
    now i up with some common problem...
    i said as common problem coz i dont know where the error is occuring.
    here is the description.
    In my jsp
    i am having a panel tabbed pane with 2 panes.
    first pane contains some 20 text boxes with save button, used to save the entered records to the database.
    second pane contains the summary page which displays all the records from the respected table with select option button(radio). By selecting the single radio button we can edit the particular record by getting the same in the first tabbed pane fields...
    (here, i am using a javascript to select any one radio button in the form coz radio buttons are generated thru datatable)
    In java
    ======
    in constructor
    i populate all the data from the table to a list. and i display the populated data to the summay fields.
    save button action
    saving the data to the table
    edit the value
    updating the edited values
    Here, my problem is after entering all the fields in the first tabbed pane
    i click the save button. if there is no data in the table(database) all things working properly, but if there single data, save function is not calling. but the constructor are calling properly.
    i am using hibernate for the database conn.
    i know this is some sort of logical error, i am posting this only if any one who had already face this type of error(might be in setting session values).. suggestions plz..

    Hi;
    Your question is not related wiht Download forum side, Please post your issue on related Forum side:
    Forum Home » Developer Tools » JDeveloper and ADF
    Regard
    Helios

  • When handling local files , should I call flush() at all?

    When handling local files, I am confused by the flush() method.
    A lot of tutorial pages say it's safer to call flush() before close(). After thinking for a while, I'm asking mysel: Does flush() applies only to buffered stream(right?)? If a stream is not buffered, program should not call flush(). For buffered stream, the corresponding close() method of the wrapper or stream class should invoke flush() method. If they don't , it's an implementation bug, which should be fixed. So for both buffered and unbuffered stream, no need to call flush() before close()(right?).
    Then the question is: when do we need to call flush() method? If we don't need call flush() at all, why are there flush() methods in almost every stream/wrapper class?
    Please let me know what is wrong, either me or something else.
    Any feedback is appreciated.
    Gang

    "The close method of FilterOutputStream calls its flush method, and then calls the close method of its underlying output stream." (Javadoc)
    By inheritance this also applies to BufferedOutputStream and its descendants. However FileOutputStream does not extend FOS or BOS so it has nothing to flush(), so flushing it does nothing at any time even before closing.
    In general flush() writes buffered bytes out of the JVM into the operating system. When you do have buffering, which in practice you should (e.g. new BufferedOutputStream(new FileOutputStream(...))), you should flush at points when you really want to be rid of the data. When operating on sockets you should always flush before try to read the next data from the socket. You can flush more often if you like but it is often counter-productive.

  • OCIBindArrayOfStruct not called, but array insert successed

    according to Oracle document, the OCIBindArrayOfStruct must be called for array insert, but I observed a stranger behavior that I bind the address of array through OCIBindByPos and didn't call OCIBindArrayOfStruct, and the call OCIStmtExecute, give iters the number of element of array. all data in array are insert succeeded, so I am wonder what will happen if OCIBindArrayOfStruct is not called? and why even the function is not called, array insert still succeeded? It seems OCI's behavior is same as OCIBindArrayOfStruct if iters great than 1.@
    #include "stdafx.h"
    #include "oci.h"
    void PrintError(OCIError *pError);
    int _tmain(int argc, _TCHAR* argv[])
      char szName[20] = {0};
      char szUID[20] = {0};
      char szPWD[20] = {0};
      OCIEnv *pEnv = NULL;
      OCIError *pErr = NULL;
      OCIServer *pServer = NULL;
      OCISvcCtx *pSvcCtx = NULL;
      OCISession *pSession = NULL;
      OCIInitialize((ub4)OCI_THREADED | OCI_OBJECT, 0, 0, 0, NULL);
      ::OCIEnvInit(&pEnv, OCI_DEFAULT, 0, NULL);
      sword wStatus = ::OCIHandleAlloc(pEnv, (void**)&pErr, OCI_HTYPE_ERROR, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Failed allocate Error handle";
      return 0;
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pServer, OCI_HTYPE_SERVER, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Failed allocate Server handle.";
      return 0;
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pSvcCtx, OCI_HTYPE_SVCCTX, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Failed allocate service context handle.";
      return 0;
      std::cout << "Please enter the TNS name:";
      std::cin >> szName;
      std::cout << "Please enter user name:";
      std::cin >> szUID;
      std::cout << "Please enter password:";
      std::cin >> szPWD;
      wStatus = ::OCIServerAttach(pServer, pErr, (OraText*)szName, strlen(szName), OCI_DEFAULT);
      if (wStatus == OCI_ERROR)
      std::cout << "Unable to attach to a server.";
      return 0;
      OCIAttrSet(pSvcCtx, OCI_HTYPE_SVCCTX, pServer, 0, OCI_ATTR_SERVER, pErr);
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pSession, OCI_HTYPE_SESSION, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Unable to allocate a session handle.";
      return 0;
      OCIAttrSet(pSession, OCI_HTYPE_SESSION, (void*)szUID, strlen(szUID), OCI_ATTR_USERNAME, pErr);
      OCIAttrSet(pSession, OCI_HTYPE_SESSION, (void*)szPWD, strlen(szPWD), OCI_ATTR_PASSWORD, pErr);
      wStatus = OCISessionBegin(pSvcCtx, pErr, pSession, OCI_CRED_RDBMS, OCI_DEFAULT);
      if (wStatus == OCI_ERROR)
      std::cout << "Unable to begin a session.";
      return 0;
      OCIAttrSet(pSvcCtx, OCI_HTYPE_SVCCTX, pSession, 0, OCI_ATTR_SESSION, pErr);
      std::cout << "Connected.";
      OCIStmt *pStmt;
      OCIBind *pBind;
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pStmt, OCI_HTYPE_STMT, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "failed allocate statement handle." << std::endl;
      return 0;
      OraText *lpSQL = (OraText*) "Insert into test (prop, value) values(:p, :v)";
      wStatus = ::OCIStmtPrepare(pStmt, pErr, lpSQL, strlen((char*)lpSQL), OCI_NTV_SYNTAX, OCI_DEFAULT);
      if (wStatus != OCI_SUCCESS)
      PrintError(pErr);
      int nProp[5] = {1, 2, 3, 4, 5};
      char szValue[5][20];
      strcpy_s(szValue[0], _countof(szValue), "V1");
      strcpy_s(szValue[1], _countof(szValue), "V2");
      strcpy_s(szValue[2], _countof(szValue), "V3");
      strcpy_s(szValue[3], _countof(szValue), "V4");
      strcpy_s(szValue[4], _countof(szValue), "V5");
      wStatus = ::OCIBindByName(pStmt, &pBind, pErr, (OraText*)":p", 2, nProp, sizeof(int), SQLT_INT, NULL, NULL, NULL, NULL, NULL, OCI_DEFAULT);
      wStatus = ::OCIBindByName(pStmt, &pBind, pErr, (OraText*)":v", 2, szValue, sizeof(szValue[0]), SQLT_STR, NULL, NULL, NULL, NULL, NULL, OCI_DEFAULT);
      wStatus = ::OCIStmtExecute(pSvcCtx, pStmt, pErr, 5, 0, NULL, NULL, OCI_COMMIT_ON_SUCCESS);
      if (wStatus != OCI_SUCCESS)
      PrintError(pErr);
      ::OCISessionEnd(pSvcCtx, pErr, pSession, OCI_DEFAULT);
      ::OCIServerDetach(pServer, pErr, OCI_DEFAULT);
      return 0;
    void PrintError(OCIError *pError)
      UCHAR szMessage[1024];
      memset(szMessage,0,1024);
      sb4 ErrorCode;
        (void) OCIErrorGet((dvoid *)pError, (ub4) 1, (text *) NULL, &ErrorCode, szMessage, (ub4) sizeof(szMessage), OCI_HTYPE_ERROR);
      std::cout << "Error:" << szMessage << std::endl;

    according to Oracle document, the OCIBindArrayOfStruct must be called for array insert, but I observed a stranger behavior that I bind the address of array through OCIBindByPos and didn't call OCIBindArrayOfStruct, and the call OCIStmtExecute, give iters the number of element of array. all data in array are insert succeeded, so I am wonder what will happen if OCIBindArrayOfStruct is not called? and why even the function is not called, array insert still succeeded? It seems OCI's behavior is same as OCIBindArrayOfStruct if iters great than 1.@
    #include "stdafx.h"
    #include "oci.h"
    void PrintError(OCIError *pError);
    int _tmain(int argc, _TCHAR* argv[])
      char szName[20] = {0};
      char szUID[20] = {0};
      char szPWD[20] = {0};
      OCIEnv *pEnv = NULL;
      OCIError *pErr = NULL;
      OCIServer *pServer = NULL;
      OCISvcCtx *pSvcCtx = NULL;
      OCISession *pSession = NULL;
      OCIInitialize((ub4)OCI_THREADED | OCI_OBJECT, 0, 0, 0, NULL);
      ::OCIEnvInit(&pEnv, OCI_DEFAULT, 0, NULL);
      sword wStatus = ::OCIHandleAlloc(pEnv, (void**)&pErr, OCI_HTYPE_ERROR, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Failed allocate Error handle";
      return 0;
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pServer, OCI_HTYPE_SERVER, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Failed allocate Server handle.";
      return 0;
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pSvcCtx, OCI_HTYPE_SVCCTX, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Failed allocate service context handle.";
      return 0;
      std::cout << "Please enter the TNS name:";
      std::cin >> szName;
      std::cout << "Please enter user name:";
      std::cin >> szUID;
      std::cout << "Please enter password:";
      std::cin >> szPWD;
      wStatus = ::OCIServerAttach(pServer, pErr, (OraText*)szName, strlen(szName), OCI_DEFAULT);
      if (wStatus == OCI_ERROR)
      std::cout << "Unable to attach to a server.";
      return 0;
      OCIAttrSet(pSvcCtx, OCI_HTYPE_SVCCTX, pServer, 0, OCI_ATTR_SERVER, pErr);
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pSession, OCI_HTYPE_SESSION, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "Unable to allocate a session handle.";
      return 0;
      OCIAttrSet(pSession, OCI_HTYPE_SESSION, (void*)szUID, strlen(szUID), OCI_ATTR_USERNAME, pErr);
      OCIAttrSet(pSession, OCI_HTYPE_SESSION, (void*)szPWD, strlen(szPWD), OCI_ATTR_PASSWORD, pErr);
      wStatus = OCISessionBegin(pSvcCtx, pErr, pSession, OCI_CRED_RDBMS, OCI_DEFAULT);
      if (wStatus == OCI_ERROR)
      std::cout << "Unable to begin a session.";
      return 0;
      OCIAttrSet(pSvcCtx, OCI_HTYPE_SVCCTX, pSession, 0, OCI_ATTR_SESSION, pErr);
      std::cout << "Connected.";
      OCIStmt *pStmt;
      OCIBind *pBind;
      wStatus = ::OCIHandleAlloc(pEnv, (void**)&pStmt, OCI_HTYPE_STMT, 0, NULL);
      if (wStatus == OCI_ERROR)
      std::cout << "failed allocate statement handle." << std::endl;
      return 0;
      OraText *lpSQL = (OraText*) "Insert into test (prop, value) values(:p, :v)";
      wStatus = ::OCIStmtPrepare(pStmt, pErr, lpSQL, strlen((char*)lpSQL), OCI_NTV_SYNTAX, OCI_DEFAULT);
      if (wStatus != OCI_SUCCESS)
      PrintError(pErr);
      int nProp[5] = {1, 2, 3, 4, 5};
      char szValue[5][20];
      strcpy_s(szValue[0], _countof(szValue), "V1");
      strcpy_s(szValue[1], _countof(szValue), "V2");
      strcpy_s(szValue[2], _countof(szValue), "V3");
      strcpy_s(szValue[3], _countof(szValue), "V4");
      strcpy_s(szValue[4], _countof(szValue), "V5");
      wStatus = ::OCIBindByName(pStmt, &pBind, pErr, (OraText*)":p", 2, nProp, sizeof(int), SQLT_INT, NULL, NULL, NULL, NULL, NULL, OCI_DEFAULT);
      wStatus = ::OCIBindByName(pStmt, &pBind, pErr, (OraText*)":v", 2, szValue, sizeof(szValue[0]), SQLT_STR, NULL, NULL, NULL, NULL, NULL, OCI_DEFAULT);
      wStatus = ::OCIStmtExecute(pSvcCtx, pStmt, pErr, 5, 0, NULL, NULL, OCI_COMMIT_ON_SUCCESS);
      if (wStatus != OCI_SUCCESS)
      PrintError(pErr);
      ::OCISessionEnd(pSvcCtx, pErr, pSession, OCI_DEFAULT);
      ::OCIServerDetach(pServer, pErr, OCI_DEFAULT);
      return 0;
    void PrintError(OCIError *pError)
      UCHAR szMessage[1024];
      memset(szMessage,0,1024);
      sb4 ErrorCode;
        (void) OCIErrorGet((dvoid *)pError, (ub4) 1, (text *) NULL, &ErrorCode, szMessage, (ub4) sizeof(szMessage), OCI_HTYPE_ERROR);
      std::cout << "Error:" << szMessage << std::endl;

  • Where should i call the rfc function module? in xi or in r/3

    where should i call the rfc function module?
    for the synch scenario: file < -- >  xi <---> rfc
    i know the type of rfc is tcp/ip; but i'm not sure with the followings,
    and with some trials i can not even see any message via rwb even all the setting
    can be activated without errors.
    where should i create the rfc destination? in r/3 or xi
    where should i call the rfc via abap program? in r/3 or xi
    i guess the calling program should belong to the different server with the rfc itself....
    so confused....
    Thanks for your reply!!
    Jun

    if i create the destination in xi point to r/3, then i call the rfc use the destination in r/3 right ?
    The call doesnt use the destination in R3. XI has the RFC destination which is just used to connect to the R3 system
    but where i need to create the fm via se37? in xi or r/3 ?
    In R3
    Regards,
    Prateek

  • Program making a RFC call to Function Module not working in background

    Hi All,
    I have an ABAP Program which is used to do a reconciliation check between the R/3 and BI system for Invoice Data. Please find below the details of the program flow:
    1.     Program counts the number of records in the DSO table and aggregates the Net_Value based on the date range (passed as parameters)
    2.     Program calls a Function Module (RFC Call) which counts the number of records in the R/3 table and aggregates the Net_Value for the same date range
    3.     Function Module Passes back the count values and aggregated Net_Value to the program
    4.     Program compares the count and aggregated Net_Value from EDWH and MSP systems and sends an email mentioning whether the counts match or not
    However we are facing an issue.
    Whenever, we execute the program in dialog mode, it works fine and fetches results within 5-6 minutes. However if we schedule the program to run in background (parameters through a variant), it gives no results even after running for over 3-4 hours. We tried figuring it out yesterday but could not come to any conclusion. Since there is a RFC call being to the function module, we were wondering if we need to specify some other parameter as well.
    Thanks & Regards
    Dharmendra

    RFC Call is a procedure for executing remote enables function modules. It is done via the 'Remote Enabled' radio button on the function module's attribute screen.

  • How can I check if a function is or is not called from the event listener? in Flash CS4 (AS3)

    Hi,
    I came across a little problem.
    I put an event listener inside a for loop and the for loop inside a function.
    I want the for loop to end as soon as the event listener inside the for loop calls its function.
    Here is the general code for a better picture.
    Code:
    this.addEventListener(Event.ENTER_FRAME, function#1);
    function function#1(event:Event):void{
              if(something is true){
                        for(var i = 0; i < numOfmy_mcs; i++){
                                  this["my_mc_"+String(i)].addEventListener(MouseEvent.CLICK, function#2);
    function function#2(e:Event):void{
    //do something cool here
    Thank you for any help!

    kglad wrote:
    that for-loop (if it executes), defines listeners for interactive objects.  that will complete long before any object is clicked.
    Well yes but it does it again and again (frames per second times seconds = number of times it goes through the code if i'm not mistaken), because it is inside a function, and through testing i found out that it works like this:
    Example:
    there are 5 my_mc's in my project: (my_mc_0, my_mc_1, my_mc_2, my_mc_3, my_mc_4)
    if i click my_mc_0 function#2 is called and executed. BUT only after the loop finishes (i know this from tons of testing)...which is unnecessary since you cannot click two places at once. This might not be a problem in this example because i am only using 5 my_mc's buy if i use 500000000 my_mc's it would make a lot of difference.
    is there a way to stop the loop if the function is called?
    ...maybe there is a better way to write it, the only alternative i know that works is if i manually write every single listener and this also is logical in this example but as i said next to impossible if the numbers get bigger.
    -Note
    I didn't specify this earlier but function#2 makes the if statement false so it wont jump back into it.
    Thank you for the help I really appreciate it!
    3rd edit...don't know what's wrong with me

  • My iphone is gray or black it is functioning but you can not see the screen so I can not call or text or anything

    My iphone is gray or black it is functioning but you can not see the screen so I can not call or text or anything,  I have a child that is very ill and I have to have access to a phone at all times can someone help me?  It happened one other time when I plugged it in to my to listen to music.  I know it is working it said something on voice control.  I tried the press the circle button and the top button but the screen only turned white?

    Try the following:
    - A reset. Nothing is lost
    Reset iPod touch: Hold down the On/Off button and the Home button at the same time for at
    least ten seconds, until the Apple logo appears.
    - Restore from backup
    - Restore to factory settings/new iPod.
    If you still have the problem that indicates a hardware problem and an appointment at the Genius Bar of an Apple store is in order

  • This method should not be called anymore. The client was already released i

    Hi,
    while configuring Business Packager for Projects 50.3 fo, we made few changes in R/3 side as per the documentation. after that we are getting following error in portal
    "This method should not be called anymore. The client was already released into the pool or the pool entry was deleted"
    all the chages were reverted in R/3 system still we are getting the same error.
    Can any one help on this issue....
    Thanks in advance and for early responce higher marks would be awarded!!!..     
    Regards
    Ravi Sankar Karri

    Hi,
    Well there were errors in how stop works:
    "Stopping a thread with Thread.stop causes it to
    unlock all of the monitors that it has locked (as a
    natural consequence of the unchecked ThreadDeath
    exception propagating up the stack). If any of the
    objects previously protected by these monitors were in
    an inconsistent state, the damaged objects become
    visible to other threads, potentially resulting in
    arbitrary behavior. "
    I do understand that you want to have something like
    killTheTreadIDontCareAboutConcequences-method, but
    it's better to let all your methods that you want to
    be able to terminate take a timeout argument, and deal
    with the termination in the method. (Close the
    sockets/streams etc that you are blocking on).
    /KajThe point is, it is not always possible to make those blocking methods stop, via some magic "timeout" thingamabob. The bottom line is still that the blocking methods were written incorrectly to begin with (to possibly block indefinitely), so one cannot come up with an across-the-board solution, other than getting the root cause fixed in the first place. However, one is not always in control of fixing the root cause.

  • Call http url in Abap - Should not open Browser

    Hi Friends,
       I have a requirement where i need to check whether a perticular http service is running or not. For that i need a some code to call http url from abap and it should not open the browser. If that perticular url is not found or time out then i should know that in program...
    Is there any way to do that..

    just run the following url (after changing the values for host,etc) from browser
    http://<abaphost>.<domain>.com:<port>/sap/public/ping
    to get the values for http://<abaphost>.<domain>.com:<port> just go to transaction se80 and choose bsp application option and choose any existing bsp application and then doubl click on a page. on the right side click on the attributes tab and at the end you can find the url
    Regards
    Raja

Maybe you are looking for

  • Is it normal for there to be a gap between the glass and bezel on iPhone 5?

    As you can see, there's a really small gap between the glass and the rim (frame) whatever you want to call it. I can fit a piece of paper there, as u can see. It also collects dust. It's annoying. Is it normal and can it be replaced under the 1 year

  • What is the cost to terminate plans? end dates are 5/9/15, 6/17/15, and 3 plans end 10/17/15

    End dates are 5/9/15, 6/17/15, and 3 @ 10/17/15. The phones were for my kids christmas 2 yrs ago and were all stolen. No insurance, sad to say. I've been  paying each month but wish to terminate these contracts since they are of no use without a phon

  • Safari won't open financial portfolio page

    I can't access the financial portfolio.  A page comes up saying Safari can't open this page. I have followed their help to steps with no result.

  • How to apply Hierarchy on attributes of masterdata?

    Dear SAP techies,           Here's my problem . I am loading customer master data from CRM to BI . The field "account number" has attributes customer name,address,category type. There's no hierarchy maintained in the CRM . When i load the data in BI

  • Subquery multiple columns with Different operand

    Hi , i have 2 tables as below , table 1 , date            number    value 20-10-13      1234       500 21-10-13      1235       800 19-10-13     1234       600 19-10-13     1234       700 20-10-13      1235       500 10-10-11      1235       600 20-1