EJB Spec Question regarding classloading

Some time ago I posted a message on "The Serverside" asking whether "Spring violates JEE spec". Of course I meant especially the EJB spec:
http://www.theserverside.com/news/thread.tss?thread_id=50477#267459
A huge discussion started especially regarding the following statement in the spec:
"The enterprise bean must not attempt to create a class loader; obtain the current class loader;
set the context class loader; set security manager; create a new security manager; stop the
JVM; or change the input, output, and error streams."
There was a lot of discussion. Someone then pointed to the following page:
http://java.sun.com/blueprints/qanda/ejb_tier/restrictions.html
There I can read something which confused me:
"Contrary to common belief, most of the Java Reflection API can be used from EJB components. For example, loadClass() and invoke() can both be used by enterprise beans. Only certain reflection methods are forbidden."
Is the writer of this article wrong? Or is true? But then why does the spec make this general restriction?
I hope someone can shed some light on this. I'd really like to have an answer to that.
Regards
Oliver

I am guessing it would throw an exception as it would not be able to map to fields it was not aware of. Maybe that is why...?How should it not be able, since I am telling it explicitly which fields to map to with @FieldResult ?
And moreover.. what harm can it be there if I map the fields as I want ?
I'm not trying just to justify the correctness of the spec, which I can hardly assume.. I need a strong argument.
Edited by: javaUserMuser on May 12, 2009 6:48 AM
Edited by: javaUserMuser on May 12, 2009 6:49 AM

Similar Messages

  • A tough one for EJB experts - Stateless session bean spec question

    I am busy learning more about EJBs and came across something confusing regarding the legal operations in the various container callback methods for stateless session beans.
    Specifically, the EJB spec states that in the ejbCreate() method, the SessionContext can be used to obtain a reference to the EJB Object. Now this makes perfect sense with stateful session beans, since the ejbCreate() method isn't called until a client is creating a bean and the container has linked that bean to the client's EJB Object. However, it is my understanding that when it comes to stateless session beans, the container creates the beans and adds them to the bean pool at its leisure. It is not until a business method is called by a client that a stateless bean is actually linked to an EJB object. So, how is it that a stateless bean could ever obtain a reference to an EJB Object from within ejbCreate(). Which EJB Object would it be linked to? This operation just doesn't appear to make sense in that context.
    Can anyone clarify this for me?

    Interesting question. I have such questions all the time! Here's a link to a similar discussion
    http://saloon.javaranch.com/cgi-bin/ubb/ultimatebb.cgi?ubb=get_topic&f=70&t=000905
    Also, I tried this using Weblogic 8.1. Tried to access the EJBObject in ejbCreate before any business method was invoked. I did this by specifying a value for initial-beans-in-free-pool and found that the hash code for the EJBObject was the same for all the bean instances that were created on startup.
    I then invoked a business method and accessed the EJBObject in that method. Again the hash code for the object was the same as the one created on startup.
    Seemed to be that there is a 1:n relation between the EJBObject and bean instances.
    This may be container specific. The spec says the user should be able to invoke the getEJBObject() method in ejbCreate(), its upto the container to comply with it.

  • ClassNotFoundException in EJB's and Threads (Classloader issue)

    A very interesting bug has cropped up in WebLogic 6.1. When a J2EE
    application packaged appropriately, a client application running in a
    user-created Thread will always throw a ClassNotFoundException when
    attempting to get back a user-created object from an EJB living on
    another cluster. This error does not happen when the call is being made
    from outside a Thread.
    Sounds strange, I know, so I'll try to give everyone as much detail as
    possible so they can avoid this bug, and so that the folks at BEA can
    fix it.
    * A java class running inside a clustered WL6.1 server is attempting to
    reference an EJB on another clustered WL 6.1 server. Accessing the bean
    is not a problem, the client class is able to obtain a remote reference
    to the bean and make method calls on it. Calling a method causes the
    following stack trace:
    2002-01-11 10:36:57,331 [Thread-4] ERROR
    wpni.app.mywp.display.DisplayJobs$JobsMonitor -
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run: Error checking Jobs
    status.
    java.rmi.UnmarshalException: failed to unmarshal class
    wpni.app.jobs.JobsData; nested exception is:
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This
    error could indicate that a component was deployed on a cluster member
    but not other members of that cluster. Make sure that any component
    deployed on a server that is part of a cluster is also deployed on all
    other members of that cluster
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This error
    could indicate that a component was deployed on a cluster member but
    not other members of that cluster. Make sure that any component deployed
    on a server that is part of a cluster is also deployed on all other
    members of that cluster
    at
    weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:146)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:211)
    at
    weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:290)
    at
    java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:107)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:115)
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
    at
    weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:230)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:254)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:220)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy140.getJobsData(Unknown Source)
    at
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run(DisplayJobs.java:48)
    at java.lang.Thread.run(Thread.java:484)
    * The class that is not found (JobsData) is definitely in the EAR file
    on both the client cluster and the server cluster, and in the
    appropriate location.
    * When we attempted to run the code outside of a Thread, everything
    worked perfectly, so it was definitely the Thread that was causing the
    problem.
    * Deploying the EJB on the client cluster did not do anything to solve
    the problem.
    * Adding the JobsData to the System CLASSPATH at the startup of the
    WebLogic server DID solve the problem. But of course that defeats the
    purpose of packaging everything in the EAR file.
    So, the conclusion seems to be that when DisplayJobs$JobsMonitor kicked
    off the Thread, the Thread should have been created in either the WAR's
    classloader or the JAR's classloader (wouldn't matter, since the
    JobsData class is in the JAR's classloader, which is a parent of the
    WAR's classloader). But instead, the Thread is being created in the
    System classloader, which can't find the JobsData class!
    We believe that any Thread created by a class living within an EAR's
    classloader should remain within that same classloader, and not migrate
    to any other classloader, in order to avoid situations like this. We're
    opening a case with BEA to attempt to get this resolved. In the
    meantime, we recommend to developers that if they have to make
    cross-cluster RMI calls from inside user-created Threads, that they only
    attempt to receive primitive types or standard JDK objects. Otherwise,
    you'll have to add the classes to the System CLASSPATH at startup of the
    WebLogic instance.
    Thanks,
    Erin
    * "[White House spokeperson Ari] Fleischer
    * warned Democrats this morning against
    * investigations into the Bush administration's
    * dealings with Enron. 'The American people
    * are tired of partisan witch hunts and endless
    * investigations,' he said." [Ed.: Uh... ]
    * www.washingtonpost.com/wp-dyn/articles/A25159-2002Jan10.html
    * Erin Reid Myers, Chief Architect
    * WashingtonPost.Newsweek Interactive
    * [email protected]
    * Work: (703) 469-3154
    * Cell: (703) 725-3050
    [att1.html]

    Things can go seriously wrong if your application uses user threads (violating
    EJB spec programming restrictions and BEA recommendations).
    I'm curious, does it work if you enable network classloading on the server
    which invokes remote EJB (in config.xml -
    <Server NetworkClassLoadingEnabled="true" ...
    </Server>
    Erin Reid Myers <[email protected]> wrote:
    A very interesting bug has cropped up in WebLogic 6.1. When a J2EE
    application packaged appropriately, a client application running in a
    user-created Thread will always throw a ClassNotFoundException when
    attempting to get back a user-created object from an EJB living on
    another cluster. This error does not happen when the call is being made
    from outside a Thread.
    Sounds strange, I know, so I'll try to give everyone as much detail as
    possible so they can avoid this bug, and so that the folks at BEA can
    fix it.
    * A java class running inside a clustered WL6.1 server is attempting to
    reference an EJB on another clustered WL 6.1 server. Accessing the bean
    is not a problem, the client class is able to obtain a remote reference
    to the bean and make method calls on it. Calling a method causes the
    following stack trace:
    2002-01-11 10:36:57,331 [Thread-4] ERROR
    wpni.app.mywp.display.DisplayJobs$JobsMonitor -
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run: Error checking Jobs
    status.
    java.rmi.UnmarshalException: failed to unmarshal class
    wpni.app.jobs.JobsData; nested exception is:
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This
    error could indicate that a component was deployed on a cluster member
    but not other members of that cluster. Make sure that any component
    deployed on a server that is part of a cluster is also deployed on all
    other members of that cluster
    java.lang.ClassNotFoundException: wpni.app.jobs.JobsData: This error
    could indicate that a component was deployed on a cluster member but
    not other members of that cluster. Make sure that any component deployed
    on a server that is part of a cluster is also deployed on all other
    members of that cluster
    at
    weblogic.j2ee.ApplicationManager.loadClass(ApplicationManager.java:146)
    at
    weblogic.rjvm.MsgAbbrevInputStream.readClassDescriptor(MsgAbbrevInputStream.java:211)
    at
    weblogic.common.internal.ChunkedObjectInputStream$NestedObjectInputStream.readClassDescriptor(ChunkedObjectInputStream.java:290)
    at
    java.io.ObjectInputStream.inputClassDescriptor(ObjectInputStream.java:906)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:366)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    java.io.ObjectInputStream.inputObject(ObjectInputStream.java:1186)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:386)
    at
    java.io.ObjectInputStream.readObject(ObjectInputStream.java:236)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:107)
    at
    weblogic.common.internal.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:115)
    at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:56)
    at
    weblogic.rmi.internal.BasicRemoteRef.unmarshalReturn(BasicRemoteRef.java:230)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:254)
    at
    weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:220)
    at weblogic.rmi.internal.ProxyStub.invoke(ProxyStub.java:35)
    at $Proxy140.getJobsData(Unknown Source)
    at
    wpni.app.mywp.display.DisplayJobs$JobsMonitor.run(DisplayJobs.java:48)
    at java.lang.Thread.run(Thread.java:484)
    * The class that is not found (JobsData) is definitely in the EAR file
    on both the client cluster and the server cluster, and in the
    appropriate location.
    * When we attempted to run the code outside of a Thread, everything
    worked perfectly, so it was definitely the Thread that was causing the
    problem.
    * Deploying the EJB on the client cluster did not do anything to solve
    the problem.
    * Adding the JobsData to the System CLASSPATH at the startup of the
    WebLogic server DID solve the problem. But of course that defeats the
    purpose of packaging everything in the EAR file.
    So, the conclusion seems to be that when DisplayJobs$JobsMonitor kicked
    off the Thread, the Thread should have been created in either the WAR's
    classloader or the JAR's classloader (wouldn't matter, since the
    JobsData class is in the JAR's classloader, which is a parent of the
    WAR's classloader). But instead, the Thread is being created in the
    System classloader, which can't find the JobsData class!
    We believe that any Thread created by a class living within an EAR's
    classloader should remain within that same classloader, and not migrate
    to any other classloader, in order to avoid situations like this. We're
    opening a case with BEA to attempt to get this resolved. In the
    meantime, we recommend to developers that if they have to make
    cross-cluster RMI calls from inside user-created Threads, that they only
    attempt to receive primitive types or standard JDK objects. Otherwise,
    you'll have to add the classes to the System CLASSPATH at startup of the
    WebLogic instance.
    Thanks,
    Erin
    * "[White House spokeperson Ari] Fleischer
    * warned Democrats this morning against
    * investigations into the Bush administration's
    * dealings with Enron. 'The American people
    * are tired of partisan witch hunts and endless
    * investigations,' he said." [Ed.: Uh... ]
    * www.washingtonpost.com/wp-dyn/articles/A25159-2002Jan10.html
    * Erin Reid Myers, Chief Architect
    * WashingtonPost.Newsweek Interactive
    * [email protected]
    * Work: (703) 469-3154
    * Cell: (703) 725-3050
    Dimitri

  • Hi, I want to downgrade from OSX LEOPARD to OSX TIGER but I have a few questions regarding this. My iMac is originally from 2007 it came preloaded with tiger. I have original install tiger discs version 10.4.10. Is it safe to downgrade or not please help

    Hi, I want to downgrade from OSX LEOPARD to OSX TIGER but I have a few questions regarding this. My iMac is originally from Sep 2007 it came preloaded with tiger. I have original install (2) tiger discs version 10.4.10.  I want to know if it is safe and what are the necessary steps to do so. Also by downgrading im wondering if a lot of apps nowadays support tiger for example I have photoshop version 5 and 4 these are very important to me. One last question does anyone know of any reliable virus protection for mac that doesnt slow down your computer? because I have read that a lot of them do so. If anyone can help me I would greatly appreciate it! Here are the specs for my iMac 
    Model Name:
    iMac
      Model Identifier:
    iMac7,1
      Processor Name:
    Intel Core 2 Duo
      Processor Speed:
    2 GHz
      Number Of Processors:
    1
      Total Number Of Cores:
    2
      L2 Cache:
    4 MB
      Memory:
    2 GB
      Bus Speed:
    800 MHz

    Most of the time a perception of general slow performance is the result of installing third party junk alleged to speed up, "clean" or "optimize" your Mac, or to look for viruses that don't exist. Ideally you would know what you installed so you can uninstall it, but if you don't know or aren't sure there are techniques such as Safe Mode and creating a temporary user account to confirm that suspicion.
    If you open Activity Monitor it may show a process, or processes, that occupy a lot of your system's time.
    Slowness confined solely to web browser activity is often the result of an inexorable progress toward websites that demand ever more processor-intensive tasks. If your slow performance is strictly limited to web browsing, you might try disabling Flash by either uninstalling it, or use utilities such as ClickToFlash that allow you to control what Flash content gets loaded. Flash in itself is not inherently evil, but there is nothing to stop websites or the advertisers who pay for them from writing horrible Flash code that can do everything from hogging 100% of your CPU's time to causing random crashes. You can watch Activity Monitor as in the above to correlate these troublesome web pages with performance degradation.
    You are correct; if your computer shipped with Tiger you may certainly revert to it. I forgot that Tiger was shipping on new Macs as recently as five years ago. To downgrade it would be necessary to completely erase your hard disk and boot with the Tiger installation DVD, followed by installing it anew. Such drastic measures are not necessary and you are unlikely to be satisfied with the results anyway.
    Assuming your system is free of third party parasitic junk attached to OS X in an ill-conceived attempt to improve upon it, that your hard disk drive is sound and the boot volume has enough free space to work with, by far the best performance-enhancing improvement would be to add more memory. Buy as much as your computer can use and that you can afford. 2 GB is not that much any more.
    Read the following for some recommended troubleshooting techniques from Apple:
    General purpose Mac troubleshooting guide: Isolating issues in Mac OS X
    Creating a temporary user to isolate user-specific problems: Isolating an issue by using another user account
    Memory limitations: Using Activity Monitor to read System Memory and determine how much RAM is being used
    Identifying resource hogs and other tips: Runaway applications can shorten battery runtime
    Starting the computer in "safe mode": Mac OS X: What is Safe Boot, Safe Mode?

  • I need help with a question regarding XML

    I have an exam tomorrow, and I was checking exams from previous years. There is a multiple choice question regarding XML, and I don't know all the correct answers (some are pretty obvious).
    It's plattform independent
    It allows UML representation
    It's a Text Only format
    It's faster to process than native binary formats
    It's a data exchange standard
    It allows specification of the meaning of the data in the document
    It comes from HTML
    .NET and J2EE provide tools to handle it

    In the beginning there was SGML... the newest HTML
    standard is an XML defined language (although most
    sites and pages are still not XML compliant). Soyou
    can think of HTML as a subset of XML but XML isnot
    by any means a subset of HTML.But wasn't XML's format based on the original HTML?
    That is, XML is a generalization of the original
    HTML. So, the "true"/"false" determination depends
    on how you define "It comes from HTML" (I thought it
    was derived from HTML, which would make the
    statement "true" [IMHO], but I could be wrong).No XML is not derived from HTML. Markup languages existed well before HTML. HTML popularized them to a large extent but it was not the first by any means.
    See http://en.wikipedia.org/wiki/Generalized_Markup_Language
    Also Wiki states in it's XML article that XML is a subset of SGML (which through that article) is a descendent of GML
    The language heirarchy from SGML is as follows
    SGML ---- HTML (old spec and deprecated)
           |
           |
           ----- XML ----- XHTML (current XML spec)edit: the tree got screwed up. XML descends from SGML directly.
    Message was edited by:
    cotton.m

  • EJB Classpath Question

    Hi,
    I have a burning question regarding EJBs and classpaths.
    Here is my situation:
    - My application uses EJBs, Servlets and JSP pages
    - My EJB remote interfaces and implementation classes extend common,
    abstract base classes
    - My EJB implementation classes use several utility classes, which are
    also used by my servlets.
    - Each EJB is deployed in a separate JAR file
    The question I have is which classes should be included in the EJB JAR
    files.
    I'd like to put just the EJB implementation class in the EJB JAR, and
    put everything else in a common JAR that is placed in my WEB-INF/lib
    folder and shared by the rest of the application. However, if I do
    that, Weblogic won't load the EJBs because it tries to do so before it
    deploys my web app, and hence before it adds the JARs in the
    WEB-INF/lib folder to its classpath.
    I can explicitly add my jar to the Weblogic classpath on the
    commandline (weblogic.class.path property). Now my EJBs load. However,
    my servlets become unable to load any classes from any jar in
    WEB-INF/lib. I read something about it being a bad idea to include a
    jar from WEB-INF/lib in the classpath, so I'm probably seeing that
    problem.
    The third option is to include all the dependent classes in my EJB
    jars themselves, in addition to deploying them in WEB-INF/lib. This
    works, but it bothers me that there are multiple copies of the same
    class files lying around.
    I'm sure I'm not the first developer who's written an EJB that shares
    classes with a servlet or JSP page. What's the proper way to do this?
    Thanks.

    Use a ClassPath entry in your EJB jar module MANIFEST.MF file
    Mark Cordobal
    [email protected] (Frank LaRosa) wrote:
    Hi,
    I have a burning question regarding EJBs and classpaths.
    Here is my situation:
    - My application uses EJBs, Servlets and JSP pages
    - My EJB remote interfaces and implementation classes extend common,
    abstract base classes
    - My EJB implementation classes use several utility classes, which are
    also used by my servlets.
    - Each EJB is deployed in a separate JAR file
    The question I have is which classes should be included in the EJB JAR
    files.
    I'd like to put just the EJB implementation class in the EJB JAR, and
    put everything else in a common JAR that is placed in my WEB-INF/lib
    folder and shared by the rest of the application. However, if I do
    that, Weblogic won't load the EJBs because it tries to do so before it
    deploys my web app, and hence before it adds the JARs in the
    WEB-INF/lib folder to its classpath.
    I can explicitly add my jar to the Weblogic classpath on the
    commandline (weblogic.class.path property). Now my EJBs load. However,
    my servlets become unable to load any classes from any jar in
    WEB-INF/lib. I read something about it being a bad idea to include a
    jar from WEB-INF/lib in the classpath, so I'm probably seeing that
    problem.
    The third option is to include all the dependent classes in my EJB
    jars themselves, in addition to deploying them in WEB-INF/lib. This
    works, but it bothers me that there are multiple copies of the same
    class files lying around.
    I'm sure I'm not the first developer who's written an EJB that shares
    classes with a servlet or JSP page. What's the proper way to do this?
    Thanks.

  • EJB Specification question

    In the EJB Specs that I have been working with (1.1), whenever you make an entity bean, you have to specify the PK ID for the bean you wish to create. This ID goes into the database for the Server to be able to persist / find your bean. My question is:
    Why do I have to specify the PK ID when I create a bean? Why can't I just call ejbCreate() and have it return an ID to me? So the Server and the Database could handle making sure that it is not a duplicate key. I find it creates more work than necessary that I have to figure out what PK ID is not taken yet and create that one, when if I used an IDENTITY field in a database, that could easily do it for me.
    Anyone know why they chose to FORCE developers / (and Server admins not) to choose the PK ID? Why not give us the option of either having the server do it and return the ID, or us choosing it?
    Anyone have thoughts on this?
    Robert

    Hi,
    Although it would have been a lot easier, they
    propably didn't define this in the EJB specs this way
    to stay compatible with all databases. Not all
    databases support the IDENTITY field. I remember there
    were some interesting discussions about other ways to
    define a PK on www.theserverside.com.Yeah, but that's why they could give you a choice, so that if you didn't want to do it, or your db didn't support it, you wouldn't have to do that.

  • Question Regarding MIDI and Sample Accuracy

    Hi,
    I have 2 questions regarding MIDI.
    1. MIDI is moved by ticks. In the arrange window however, you can move a region by samples. When doing this, you can move within values of the ticks (which you can see on your position box that pops up) Now, will this MIDI note actually be played back at that specific sample point, or will it round the event to the closest tick? (example, if I have a MIDI note directly on 1.1.1.1, and I move the REGION in the arrange... will that MIDI note now fall on the sample that I have moved the region to, or will it be rounded to the closest tick?)
    2. When making a midi template from an audio region, will the MIDI information land exactly on the sample of the transient, or will it be rounded to the closest tick?
    I've looked through the manual, and couldn't find any specific answer to these questions.
    Thanks!
    Message was edited by: Matthew Usnick

    Ok, I've done some experimenting, and here are my results.
    I believe those numbers ARE samples. I came to this conclusion by counting (for some reason it starts on 11) and cutting a region to be 33 samples long (so, minus 11, is 22 actual samples). I then went to the Audio Bin window, and chose to view region length as samples. And there it said it: 22 samples. So, you can in fact move MIDI regions by samples!
    Second, I wanted to see if the MIDI notes in the region itself would be quantized to the nearest tick. I cut a piece of audio, so it had a 1 sample attack (zoomed in asa far as I could in the sample editor, selected the smallest portion, and faded in, and made the start point, the region start position). I saved the region as a new audio file, and loaded it up in the exs sampler.
    I then made a MIDI region, with and triggered the sample on beat 1 (quantized, on the money). I then went into the arrange window, made a fixed cycle length, and bounced the audio. I then moved the MIDI region by one sample to the right. I did this 22 times (which is the number of samples in a tick, at 120, apparently). After bouncing all of these (cycle position remained fixed, only the MIDI region was moving) I imported all the audio into the arrange on new tracks, and YES!!! The sample start was cascaded by a sample each time!
    SO.
    Not only can you move MIDI regions by sample, but the positions are NOT quantized to Logics ticks!
    This is very good news, and glad I worked this out!
    (if anyone thinks this sounds wrong, please correct me, but I'm pretty sure I proved it, in my test)
    Message was edited by: Matthew Usnick

  • Question regarding homehub and Open reach router -...

    Hi all,
      I had infinity installed earlier this month and am happy with it so far. I do have a few questions regarding the service and hardware though.
      I run both my BT openreach router and BT Home hub from the same power socket. The problem is, if I turn the plug on so both the Homehub and Openreach Router start up at the same time, the home hub will never get an Internet connection from the router. To solve this I have to turn the BT home hub on first and leave it for a minute, then start the router up and it all works fine. I'm just curious if this is the norm or do I have some faulty hardware?
      Secondly, I appreciate the estimated speed BT quote isn't always accurate, I was quoted 49mbits down but received 38mbits down - Which I was happy with. Recently though it has dropped to 30. I am worried this might continue to drop over time. and as of present I am 20mbits down on the estimate . For the record 30mbits is actually fine and probably more than I would ever need. If I could boost it some how though I would be interested to hear from you.
    Thanks, .

    Just a clarification: the two boxes are the HomeHub (router, black) and the modem (white).  The HomeHub has its own power switch, the modem doesn't.
    There is something wrong if the HomeHub needs to be turned on before the modem.  As others have said, in general best to leave the modem on all the time.  You should be able to connect them up in any order, or together.  (For example, I recently tripped the mains cutout, and when I restored power the modem and HomeHub went on together and everything was ok).
    Check if the router can connect/disconnect from the broadband using the web interface.  Leaving the modem and HomeHub on all the time, go to http://192.168.1.254/ on a browser on a connected computer, and see whether the Connect/Disconnect button works.

  • Question regarding IWDTree and context Value Node naming

    Hi,
    I have a question regarding the IWDTree / IWDTreeNodeType components.
    I have a context looking like this:
    Context
      + ResponseNode
        + PersonNode (1..1)
          + PersonAddressNode                    (empty node, placeholder)
          | + AdresNode (0..n)
          + PersonChildNode                      (empty node, placeholder)
          | + PersonNode (0..n)
          |   + PersonAddressNode                (empty node, placeholder)
          |     + AddressNode (0..n)
          + PersonParentsNode                    (empty node, placeholder)
            + PersonNode (0..n)
              + PersonAddressNode                (empty node, placeholder)
                + AddressNode (0..n)
    The context represents a person, a person's address, and a person's children and parents with their respective addresses.
    As a result, on different branches, a PersonNode and AddressNode can appear.
    And for some strange reason, all PersonNodes and AddressNodes link to the same ResponseNode.PersonNode.PersonParentsNode.PersonNode and ResponseNode.PersonNode.PersonParentsNode.PersonNode.PersonAddressNode.AddressNode respectively, irregardless of their branch...
    Is it illegal to have multiple PersonNode and AddressNode node names, and should they be named uniquely?

    Generally, node names need to be unique inside the context, attributes in different nodes can have same names. I wonder if the context structure you described will result in code without compile errors.
    The WD Tree can only be used with recursive context nodes or with a hierarchy of non-singleton child nodes.
    Can you give an example how your tree should look like at runtime?

  • Question regarding roaming and data usage

    I am currently out of my main country of service, and as such I have a question regarding roaming and data usage.
    I am told that the airplane mode is sufficient from keeping the phone off from roaming, but does this apply to any background data usage for applications and such?
    If the phone is in airplane mode, are all use of the phone including wifi and application use through the wifi outside of all extra charges from roaming?

    Ann154 wrote:
    If you are getting charged to use the wifi, then it is possible.  Otherwise no
    Just to elaborate here, Ann154 is referring to access charges for wifi, which is nothing to do with Verizon, so if you are using it in a plane, hotel, an internet cafe etc that charges for Wifi rather than being free .   Verizon does not charge you (or indeed know about!) wifi usage, or any other usage that is not on their cellular network (such as using a foreign SIM for example in global phones)  So these charges, if any, will not show up on the verizon bill app.  Having it in airplane mode prevents all cellular data traffic so you should be fine

  • Question regarding MM and FI integration

    Hi Experts
    I have a question regarding MM and FI integration
    Is the transaction Key in OMJJ is same as OBYC transaction key?
    If yes, then why canu2019t I see transaction Key BSX in Movement type 101?
    Thanks

    No, they are not the same.  The movement type transaction (OMJJ) links the account key and account modifier to a specific movement types.  Transaction code (OBYC) contains the account assignments for all material document postings, whether they are movement type dependent or not.  Account key BSX is not movement type dependent.  Instead, BSX is dependent on the valuation class of the material, so it won't show in OMJJ.
    thanks,

  • **question regarding 3G and wif**.

    I have a question regarding 3G and wifi. I have #G activated as well as wifi, when I go to retrieve mail for example I get a pop up asking me if I want to connect to a wifi network…should I have wifi and 3G activated at the same time, and why am I getting the pop up…
    Thanks

    You can have them on at the same time, but they will not be used at the same time for data. The order of preference for data is WiFi > 3G > EDGE > GPRS. You're getting the pop up, most likely, because you have Settings > Wi-Fi > Ask to Join Networks set to ON. You can set that to OFF, and the iPhone will still join known (i.e. previously used) WiFi networks automatically.

  • Question regarding Dashboard and column prompt

    My question regarding Dashboard and column prompt:
    1) Dashboard prompt usually work with only for columns which are in subject area. In my report I've created some of the columns which are based on other columns. Like I've daysNumber column that is based on two other columns, as it calculates the difference of two dates. When I create dashboard prompt I can't find this column there. I need to make a prompt on this column.
    2)For one of the column I've only two values 1 and 0. When I create prompt for this column, is it possible that in drop down list It shows 'Yes' for 1 and 'No' for 0 and still filter the request??

    Hi Toony,...
    I think there was another way of doing this...
    In the dashboard prompt go to Show option > select SQL Results from dropdown.
    There you need to write your Logical SQL like...
    SELECT CASE WHEN 1=0 THEN PERIODS.YEAR ELSE difference of date functionality END FROM SubjectAreaName
    Here.. Periods.Year is the column which is already exists in repository's presentation layer..
    and difference of date functionality is the code or formula of column which you want to show in drop-down...
    Also write the CASE WHEN 1=0 THEN PERIODS.YEAR ELSE difference of date functionality END code in fx of that prompt.
    I think it helps you in doing this..
    Just check and inform me if it works...
    Thanks & Regards
    Kishore Guggilla
    Edited by: Kishore Guggilla on Oct 31, 2008 9:35 AM

  • Questions regarding customisation/configuration of PS CS4

    Hello
    I have accumulated a list of questions regarding customising certain things in Photoshop. I don't know if these things are doable and if so, how.
    Can I make it so that the list of blending options for a layer is by default collapsed when you first apply any options?
    Can I make it possible to move the canvas even though I'm not zoomed in enough to only have parts of it visible on my screen?
    Is it possible to enable a canvas rotate shortcut, similar to the way you can Alt+RightClick to quickly change brush size?
    Is it possible to lock button positions? Sometimes I accidentally drag them around when I meant to click.
    Is it possible to lock panel sizes? For example, if I have the Navigator and the Layers panels vertically in the same group, can I lock the height of the navigator so that I don't have to re-adjust it all the time? Many panels have a minimum height so I guess what I am asking for is if it's possible to set a maximum height as well.
    Is it possible to disable Photoshop from automatically appending "copy" at the end of layer/folder names when I duplicate them?
    These are things I'd really like to change to my liking as they are problems I run into on a daily basis.
    I hope someone can provide some nice solutions

    NyanPrime wrote:
    <answered above>
    Can I make it possible to move the canvas even though I'm not zoomed in enough to only have parts of it visible on my screen?
    Is it possible to enable a canvas rotate shortcut, similar to the way you can Alt+RightClick to quickly change brush size?
    Is it possible to lock button positions? Sometimes I accidentally drag them around when I meant to click.
    Is it possible to lock panel sizes? For example, if I have the Navigator and the Layers panels vertically in the same group, can I lock the height of the navigator so that I don't have to re-adjust it all the time? Many panels have a minimum height so I guess what I am asking for is if it's possible to set a maximum height as well.
    Is it possible to disable Photoshop from automatically appending "copy" at the end of layer/folder names when I duplicate them?
    These are things I'd really like to change to my liking as they are problems I run into on a daily basis.
    I hope someone can provide some nice solutions
    2.  No.  It's a sore spot that got some forum time when Photoshop CS4 was first released, then again with CS5.  It's said that the rules change slightly when using full-screen mode, though I personally haven't tried it.
    3.  Not sure, since I haven't tried it.  However, you may want to explore the Edit - Keyboard Shortcuts... menu, if you haven't already.
    4.  What buttons are you talking about?  Those you are creating in your document?  If so, choose the layer you want to lock in the LAYERS panel, then look at the little buttons just above the listing of the layers:
    5.  There are many, many options for positioning and sizing panels.  Most start with making a panel visible, then dragging it somewhere by its little tab.  One of the important features is that you can save your preferred layout as a named workspace.  Choose the Window - Workspace - New Workspace... to create a new named workspace (or to update one you've already created).  The name of that menu is a little confusing.  Once you have created your workspace, if something gets out of place, choose Window - Workspace - Reset YourNamedWorkspace to bring it back to what was saved.
    You'll find that panels like to "stick together", which helps with arranging them outside of the Photoshop main window.
    As an example, I use two monitors, and this is my preferred layout:
    6.  No, it's not possible to affect the layer names Photoshop generates, as far as I know.  I have gotten in the habit of immediately naming them per their usage, so that I don't confuse myself (something that's getting easier and easier to do...).
    Hope this helps!
    -Noel

Maybe you are looking for