Can't understand how autocommit works

Hey,
I can't get TopLink working the way I want.
I use TopLink as JPA provider in GlassFish. I have a stateless session bean that manages persistence by itself (Bean Managed Persistence). One of the bean's methods does the following thing:
UserTransaction ut = /* get the UserTransaction object */;
ut.begin();
/* do stuff involving several SELECTs and UPDATEs */;
ut.commit();
Unfortunately it doesn't work. It looks like each SQL query is commited, probably autocommit is turned on. I want autocommit turned off. What to do?
Regards,
Mike

JTA does not support nested transactions, only suspending a transaction and starting a new independent one, then resuming the original one (sort of parallel transactions). The parallel transactions should be entirely independent of each other and have different persistence contexts.
Are you sure you annotation is correct and being picked up? Did you remove the BMT (bean managed transactions) option from your bean, otherwise the container will most likely ignore the transaction annotations.
<p>---
<br>James Sutherland
<br>Oracle TopLink, EclipseLink
<br>Wiki: Java Persistence, EclipseLink

Similar Messages

  • How much does this cost? & I still can't understand how this work

    How much does this cost? & I still can't understand how this work

    Hello mkopti,
    ePrint is a free feature include on most of our wireless printers that are e-all-in-one enabled. It allows you to register your printer on HP's website http://www.eprintcenter.com and create an account. Once an account has been created you can enable the web services feature, after connecting to a valid network with internet access, which will print off a registration code you can use to add the printer to your account and customize an email address for the printer. This allows you to print to the printer from virtually anywhere simply by sending an email to the printers email address and when it is received it will print.
    Most of these printers are also Airprint enabled meaning you can print locally from the same network on the iPad, iPod, and iPhone (version 4.3.2 and higher) by using the built in "Print" command in the idevices.
    If you have any other questions or need clarification feel free to reply to this post and I will try to answer any questions you have.
    If I have solved your issue, please feel free to provide kudos and make sure you mark this thread as solution provided!
    Although I work for HP, my posts and replies are my own opinion and not those of HP.

  • I really can't understand how this recursive works??

    Hi all,
    I have got a recursive function that checks for palendrome string. But it is confusing. I know that a string is palenromme if it is empty or has a char or first char and last one are same and middle is palindromme too.
    but can't understand how this function works.
    class Palindromme
         boolean palindrom(String s)
              if (s.length() <= 1 || s.equals(null) || s=="") //this is the stopping point
                   return true;
              else
              {                    //recursive definition
                   return ( s.charAt(0) == s.charAt(s.length()-1) ) && palindrom(s.substring(1,s.length()-1));
    specially i don't know how palindrom(s.substring(1,s.length()-1)); is working cause it has to be increased for each loop.
    abdul
    PS: actually i don't know how recursion works from Data structure point of view

    Hi,
    ok your palindrome is : "otto"
    return ( s.charAt(0) == s.charAt(s.length()-1) ) && palindrom(s.substring(1,s.length()-1));
                  o                     o                                   tt
    so first part is true                                        
    in the second part palindrom is called again but with the remaining tt
    so second time :
    return ( s.charAt(0) == s.charAt(s.length()-1) ) && palindrom(s.substring(1,s.length()-1));
                   t                     t                                 ""
    Third time:
    if (s.length() <= 1 || s.equals(null) || s=="") //this is the stopping point
    return true;after all for otto the recusion is:
    return ( s.charAt(0) == s.charAt(s.length()-1) ) && s.charAt(1) == s.charAt(s.length()-2) ) && nothing left of otto);
    Phil

  • Need a Little Help with Understanding How Layers Work in PSE

    I have PSE version 5 and I am using it on a PC with Windows XP.
    As I get more into editing photos, I am enjoying it, but confusion is also starting to set in.  My question is about layers.  When I go to edit a photo for web/email use only, I start by resizing it to 72 ppi and then reducing the pixel dimensions quite a bit.  Then after that I normally go through this process of editing the photos by using normally about three different commands.  One is Levels, then I may go to Shadows/Highlights, and then my last command is always sharpening.  I used to do this all on one layer, but then finally learned to put each one of these editing features on their own layer so I can make changes/deletions without too much trouble.
    When I started doing the separate layers, I was just making a copy of the background layer each time and then touching that particulay layer up with Levels, Sharpen or Shadows/Highlights.  But I noticed that depending on the order in which the layers were placed, some changes would be obscured.  If I put the Levels layer on top, and then the Sharpen layer and the Shadows/Highlight layer below that, the sharpen effect and the shadows/highlights effects were no longer there.  I could only see the levels effect.  The photo was still not sharp and so on.  If I put the Sharpen level on top, then the photo showed the sharpen effects, but now the Levels and Shadows/Highlights effects were no longer visible.
    So then I started to make a copy of the background initially, do a levels adjustment here, then, instead of making a copy of the original background layer again, I would make a copy of the layer that now has the levels changes on it.  Then do the sharpen effect on this layer.  This way I had all the changes on one layer as long as I put that layer as the top layer.  But then I realized that I once again fI didn't have a layer with only one fix on it.   Finally, I started to use an adjustment layer for Levels, put this as the top layer, make a copy of the background layer, do shadows/highlights, copy background layer again, do sharpen, and this seems to work a little better.  But even with this way, depending on what order I place the sharpen and shadows/Highlights layers, one of them still seems to get obscured by the layer above it.
    Can someone help me to understand how layers work in this regard.  I am obviously a little confused here.
    Thanks,
    Lee

    You really aren't working efficiently. First of all, do your editing on a full sized version of the photo, since you have more data for PSE to work on and will get better results. Use save for web to make your web/email copy when you are totally done. You can resize it down on the right side of the save for web window.
    Duplicating a regular layer makes an opaque layer that obscures the layers below it. It's best to start off by not working on your original image, so that you don't have to worry if you mess up. If you're working on a copy, you can work right on the background layer, or only duplicate the layer once and apply your changes to that. So you'd apply both shadows/highlights and sharpening to the same layer.
    Finally, you should use an adjustment layer for levels. Layer>New Adjustment Layer>Levels. This will put levels on a transparent layer above your image, but you will need to click the layer below it to get back to a pixel layer to apply other changes (you can't sharpen an adjustment layer, for example).

  • How works lync when I made a video conferences with someone in my same building?I want to understand how lyncs works, when I made video conferences with someone in my same building, if my call go to to server and then go to the person I´m calling. Or if L

    I want to understand how lyncs works, when I made video conferences with someone in my same building, if my call go to to server and then go to the person I´m calling.
    Or if Lync realizes that we are in the same building so it never leaves, so it don’t generate traffic. My concern is the bandwidth consumption.
    Please a I need the information.
    thanks

    In addition, you can refer to the following link about the media connection in different scenarios:
    http://www.shudnow.net/2010/12/06/lync-server-2010-port-ranges-and-audiomedia-negotiation/
    Note: Microsoft is providing this information as a convenience to you. The sites are not controlled by Microsoft. Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there. Please make
    sure that you completely understand the risk before retrieving any suggestions from the above link.
    Lisa Zheng
    TechNet Community Support

  • I want to understand how crypto works.

    Hi, I want to understand how crypto works and all. where i can start with. i really dont know anything about crypto. i need to understand how DC and keys and algorithims work together and how they work. pls suggest me where and with what i can start.

    Since you asked on the Java Cryptography forum, I would recommend beginning with this book:
    Beginning Cryptography with Java
    David Hook
    ISBN: 978-0-7645-9633-9
    http://www.wrox.com/WileyCDA/WroxTitle/productCd-0764596330.html

  • I can't understand how to edit titles on the spine of books. Could anyone help me? Thanks.

    I can't understand how to edit titles on the spine of books. Could anyone help me? Thanks.

    the trouble is that on the spine of the book the title is cut off and I don't know how avoid it.
    I don't think you can, Fred. Pick a shorter title. And add the additional information by adding a subtitle on your title page. You can always add a second text box, using the "edit layout" panel.
    Regards
    Léonie

  • Not understanding how Wifi Works

    Good morning all, so I'm not understanding how Wifi works on the 3GS. It seems to behave differently then on the 3G. If I send a video to some one and hit the sleep awake button it never goes through. It seems to only send it if I keep the screen active, and I'm not understanding how keeping wifi on drains the battery if everytime I hit the sleep button it disconnects it. It's kind of annoying, because before you could shoot off an email and it would go right through. I have noticed though that if it's on 3G it does go through. Has any one else noticed this? Thanks!

    I notice sometimes when I am connected to WiFi that after I wake up the phone it takes a couple seconds to reconnect to WiFi so it does seem like the phone turns the WiFi off at some point while sleeping or at least goes into some sort of standby maybe. I don't think I have had an issue of it turning off after you hit sleep until it was done sending though. I would think that if the WiFi does turn off while asleep that it would have a sleep time after a certain amount of inactive time and not the second the screen is off.
    I'm interested in finding this out as well. I havent had this issue but I do send a lot of large attachments and may need to know this for future reference.
    Message was edited by: Ray Golob

  • Things have really changed.  I can't understand how Apple could release the Lion OS as buggy as it is ?  It's like reliving the nightmare of my PC days and the Microsoft crap !  Do I have to wipe the hardrive before reinstalling Snow Leopard ?  Comments..

    Things have really changed.  I can't understand how Apple could release the Lion OS as buggy as it is ?  It's like reliving the nightmare of my PC days and the Microsoft crap !  Do I have to wipe the hardrive before reinstalling Snow Leopard ?  The amazing thing is that when I installed Snow Leopard not a hitch, ever !    My trust in Apple is gone and believe me I will think twice before doing anymore OS upgrades, **** I can go back to the PC for a lot less money.

    Adios baby! Enjoy that PC!

  • Can't understand how TableCellRenderer is meant to work

    I've not done much Swing work and I'm trying to understand how a customer TableCellRenderer is meant to work. I know I've made a stupid mistake here somewhere but I can't find any specific docs on what I'm try to do.
    Basically I have a column in my JTable which holds my own Counter object. I want to render the cell so that the current value of the counter is displayed, along with 2 little buttons that allow the user to increment/decrement the counter value.
    The code is below, I seem to have 3 problems:
    1) One click on the button seems to increment the counter several times (inserting some log statements it seems that the MouseListener is being added several times?)
    2) The value on the counter doesn't seem to get refreshed/repainted once the button is clicked, only some time later (e.g. when I click on a different cell in the JTable)
    3) The +/- buttons dont "depress" when they are clicked.
    Any help much appreciated!
    public Component getTableCellRendererComponent(
    JTable table, Object lagInput,
    boolean isSelected, boolean hasFocus,
    int row, int column) {
    removeAll();
    final Counter counter = (Counter)counter;
    final JButton increment = new JButton("+");
    increment.setMargin(new Insets(1,1,1,1));
    increment.setPreferredSize(new Dimension(15,15));
    final JButton decrement = new JButton("-");
    decrement.setMargin(new Insets(1,1,1,1));
    decrement.setPreferredSize(new Dimension(15,15));
    final JTable finalTable = table;
    final int finalColumn = column;
    table.addMouseListener(new MouseAdapter(){
    public void mousePressed(MouseEvent e) {
    Rectangle panelBounds = finalTable.getTableHeader().getHeaderRect(finalColumn);
    Rectangle buttonBounds = increment.getBounds();
    buttonBounds.translate(panelBounds.x, panelBounds.y);
    if (buttonBounds.contains(e.getX(), e.getY())){
    counter.increment();
    Rectangle buttonBoundsDec = decrement.getBounds();
    buttonBoundsDec.translate(panelBounds.x, panelBounds.y);
    if (buttonBoundsDec.contains(e.getX(), e.getY())){
    counter.decrement();
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridheight = 2;
    c.gridx = 0;
    c.gridy = 0;
    add(counter);
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridheight = 1;
    c.gridx = 0;
    c.gridy = 1;
    add(increment);
    c.fill = GridBagConstraints.HORIZONTAL;
    c.gridheight = 1;
    c.gridx = 1;
    c.gridy = 1;
    add(decrement);
    return this;
    }

    If that's all there is to the Counter class, it seems to me that what you really want is a JTable of JSpinners.import java.awt.Component;
    import javax.swing.*;
    import javax.swing.table.TableCellEditor;
    import javax.swing.table.TableCellRenderer;
    public class SpinnerTable {
       void makeUI() {
          Integer[][] data = new Integer[10][5];
          String[] colNames = new String[data[0].length];
          for (int i = 0; i < data[0].length; i++) {
             colNames[i] = "Column " + i;
             for (int j = 0; j < data.length; j++) {
                data[j] = 0;
    JTable table = new JTable(data, colNames) {
    @Override
    public Class getColumnClass(int column) {
    return Integer.class;
    table.setDefaultEditor(Integer.class, new TableCellSpinner(table));
    table.setDefaultRenderer(Integer.class, new TableCellSpinner(table));
    table.setRowHeight(new JSpinner().getPreferredSize().height + table.
    getIntercellSpacing().height);
    JScrollPane scrollPane = new JScrollPane(table);
    JFrame frame = new JFrame("SpinnerRendererTable");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400, 400);
    frame.setLocationRelativeTo(null);
    frame.add(scrollPane);
    frame.setVisible(true);
    public static void main(String[] args) {
    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    new SpinnerTable().makeUI();
    class TableCellSpinner extends AbstractCellEditor
    implements TableCellRenderer, TableCellEditor {
    JTable table;
    JSpinner spinner = new JSpinner();
    JTextField editor = ((JSpinner.DefaultEditor) spinner.getEditor()).
    getTextField();
    TableCellSpinner(JTable table) {
    this.table = table;
    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column) {
    spinner.setValue((Integer) value);
    if (isSelected) {
    editor.setBackground(table.getSelectionBackground());
    } else {
    editor.setBackground(table.getBackground());
    if (hasFocus) {
    spinner.setBorder(BorderFactory.createLineBorder(table.getGridColor()));
    } else {
    spinner.setBorder(null);
    return spinner;
    public Component getTableCellEditorComponent(JTable table, Object value,
    boolean isSelected, int row, int column) {
    spinner.setValue((Integer) value);
    spinner.setBorder(BorderFactory.createLineBorder(table.getGridColor()));
    return spinner;
    public Object getCellEditorValue() {
    return spinner.getValue();
    }Check that out carefully in case I've missed anything.
    db
    edit Added the code for the isSelected border
    Edited by: Darryl.Burke

  • [SOLVED] Can't understand how `install` command works

    Hi there:
    I'm trying to make a PKGBUILD for pgModeler, which comes pre-compiled, so I think what I should do is to move the application directory completely to /opt/pgmodeler and make a symbolic link from /usr/bin to the /opt/pgmodeler/start-pgmodeler.sh script. So, i just wrote this:
    pkgname=pgmodeler
    pkgver=0.4.1
    pkgrel=1
    pkgdesc="An open source tool for modeling PostgreSQL databases"
    arch=('x86_64')
    url="http://pgmodeler.com.br"
    license=('GPL3')
    source=("http://www.pgmodeler.com.br/releases/$pkgname-$pkgver-linux64.tar.gz" "pgmodeler.desktop")
    md5sums=('574887c35bc9e0a1bc65f8d4494200bb' '1f3ebda62e941ea7ea17cfb609cc392e')
    depends=(libpqxx)
    package() {
    install -Dm644 "$srcdir/$pkgname-$pkgver-linux64" "$pkgdir/opt/$pkgname"
    install -Dm644 "$srcdir/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
    install -Dm644 "$srcdir/$pkgname-$pkgver-linux64/pgmodeler_logo.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
    chmod 755 "$pkgdir/opt/$pkgname/start-pgmodeler.sh"
    ln -s "$pkgdir/opt/$pkgname/start-pgmodeler.sh" "$pkgdir/usr/bin/$pkgname"
    But it fails in the first line of the package() function:
    [tae@localhost pgmodeler]$ makepkg -s
    ==> Making package: pgmodeler 0.4.1-1 (Sun Mar 17 23:03:08 CLST 2013)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving Sources...
    -> Found pgmodeler-0.4.1-linux64.tar.gz
    -> Found pgmodeler.desktop
    ==> Validating source files with md5sums...
    pgmodeler-0.4.1-linux64.tar.gz ... Passed
    pgmodeler.desktop ... Passed
    ==> Extracting Sources...
    -> Extracting pgmodeler-0.4.1-linux64.tar.gz with bsdtar
    ==> Removing existing pkg/ directory...
    ==> Entering fakeroot environment...
    ==> Starting package()...
    install: omitting directory ‘/home/tae/GitHub/pgmodeler/src/pgmodeler-0.4.1-linux64’
    ==> ERROR: A failure occurred in package().
    Aborting...
    This is my first PKGBUILD and I'm trying to decipher how to make it by looking at this files: https://aur.archlinux.org/packages/dr/dropbox/PKGBUILD and https://aur.archlinux.org/packages/op/opcion/PKGBUILD and I never used the install command before so I'm pretty lost.
    Thanks beforehand.
    Last edited by Tae (2013-03-19 12:44:45)

    Thanks to all. I learned a couple of stuff, but I still have no luck. This is what I've tried:
    I wrote install -d "$pkgdir/opt" in the first line of the package() function before ask, but it didn't make any difference. In fact, I'm not sure what it does (from its man page: treat all arguments as directory names; create all components of the specified directories).
    I modified the function with all your suggestions, and now it looks:
    package() {
    cp -R "$srcdir/$pkgname-$pkgver-linux64" "$pkgdir/opt/$pkgname"
    chmod 644 "$pkgdir/opt/$pkname/"
    chmod 755 "$pkgdir/opt/$pkgname/start-pgmodeler.sh"
    install -Dm644 "$srcdir/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
    install -Dm644 "$pkgdir/opt/$pkgname/pgmodeler_logo.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
    ln -s "/opt/$pkgname/start-pgmodeler.sh" "$pkgdir/usr/bin/$pkgname/"
    but I get:
    $ makepkg -s
    ==> Making package: pgmodeler 0.4.1-1 (lun mar 18 20:33:53 CLST 2013)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving Sources...
    -> Found pgmodeler-0.4.1-linux64.tar.gz
    -> Found pgmodeler.desktop
    ==> Validating source files with md5sums...
    pgmodeler-0.4.1-linux64.tar.gz ... Passed
    pgmodeler.desktop ... Passed
    ==> Extracting Sources...
    -> Extracting pgmodeler-0.4.1-linux64.tar.gz with bsdtar
    ==> Removing existing pkg/ directory...
    ==> Entering fakeroot environment...
    ==> Starting package()...
    cp: cannot create directory ‘/home/tae/GitHub/pgModeler/pkg/opt/pgmodeler’: No such file or directory
    ==> ERROR: A failure occurred in package().
    Aborting...
    Here I can't understand why it tries to create /opt/pgmodeler inside the pkg/ directory. For what I found in other PKGBUILDs and from the $pkgdir definition of the PKGBUILD man page (This contains the directory where makepkg bundles the installed package (this directory will become the root directory of your built package)) I though it will be the root directory.
    So I removed all the $pkgdir from the function and now I get this error:
    mkdir: cannot create directory ‘/opt/pgmodeler/’: Permission denied

  • I need help understanding how this works. AS 2.0

    Its my first time here and i only started learning flash today. I aint too great with maths and i was showed this piece of code that makes a triangles point follow the cursor. It involved mathimatical things ( which i aint so great at) and the guy said "You dont need to know how it works, just how to use it." well i copied his code and it worked, but i have no idea how to use it in other rotation apart from the one he taught us. I dont even understand how to redo his code i saved it to a word document and anytime i wanted to make something rotate something in that fashion i would refer to that. But i dont want to have to do that, i want to know how to use it, dont have to understand it, but use it for other rotation matters. If you are going to help, please try to be a bit simmple i explaining it, cause im new. Dont get me wrong i aint thick but i can find it a bit hard to follow some things, that is i my current problem.
    here is the rotation code:
    onEnterFrame = function()
    hero._rotation = getmouse(hero);
    getmouse = function(mc:MovieClip):Number
    dy = _ymouse-mc._y;
    dx = _xmouse-mc._x;
    rad = Math.atan2(dy,dx);
    rotate = rad*180/Math.PI
    return rotate+90
    also if it helps, here is the video i was watching: http://www.youtube.com/watch?v=w3OfrpbNhHs
    please if you can, explain how the entire thing works.
    thanks for any help given in advance.

    Hi,
    Here's a short primer.  It may not be sufficient but here goes.
    1st, move the closing bracket at the end and put it on the third line.  This makes the code more efficient
    onEnterFrame = function(){                               // this causes Flash to repeatedly
                                                                              execute the next line at the
                                                                              frame rate you selected
                                                                              for your document
           hero._rotation = getmouse(hero);               // this tells Flash to rotate a
                                                                              movie clip (named hero) based
                                                                              on the function getmouse()
    };                                                                     // putting the }; here makes the
                                                                              code more efficient and readable
    getmouse = function(mc:MovieClip):Number{   // This is the function called with
                                                                             mc referring to hero that was
                                                                             passed from the second line.
         dy = _ymouse-mc._y;                                // dy means delta y which subtracts
                                                                            the y position of the movieclip
                                                                            from the mouses y position
         dx = _xmouse-mc._x;                               // dx = delta x (same as above line
                                                                            but on the x axis)
                                                                         // once you have the x and y sides
                                                                            you male a triangle.
                                                                            Now use trig to find the angle
         rad = Math.atan2(dy,dx);                           // the computer works in radians
                                                                            the arc tangent atan2 will give the
                                                                            angle in radians
         rotate = rad*180/Math.PI                            // you want to convert the radians to
                                                                            degrees, that's what this line does
         return rotate+90                                         // this returns the value of rotate back
                                                                            to the calling function in line 2.
                                                                            the +90 determines which part
                                                                        // of the hero movie clip is facing the
                                                                           mouse.
    If you put the mouse cursor over any of the green reserved words above in the Actions panel you will get a desctription of what these do.
    hope that helps.

  • Can't understand how Finder handles photos!

    I would like to understand how finder handles photos because I switched from windows recently and can't understand some things.
    First example, renaming lots of photos (without using iPhoto). I already have a automator action for renaming files, but if I have lots of photos with the numbers wrong, I wanted to organize the photos by date created and then rename them and get them in order. The problem is finder renames the files but with some order he chooses, and not the one I wanted. I know this happens because I select all the photos and he decides this way, but how can I do this my way!?
    The second question is kinda related. If I open lots of photos in finder (using command+a and command+o), why do the photos that are open in preview are opened in an order finder chooses, even if I arrange my photos in different orders (kind, name, date, etc)?
    I'm finding handling files in finder a little too much work to do, it was supposed to be a simple thing, just renaming or opening photos, because despite all his many weaknesses, windows worked kinda well with files, like pictures...

    Part of it depends on what criterion you have chosen to arrange the files in the Finder window: Name, Date Modified, Date Created, Size, Kind, Label. If by Name, I think the ones with numbers are ordered before letters.

  • IVR NAT - can someone explain how this works?

    The CLI config guide, cookbook, and other things I have found do not explain exactly what is getting translated to what with regards to IVR NAT. I setup a simple scenario, and its all working but I am trying to understand how virtual domains and NAT in general is making it all work.
    I setup two switches, MDS1 and MDS2. I put VSAN 10 on MDS1 with a single HOST and VSAN 20 on MDS2 with a single DISK. I made a common transit VSAN between them, VSAN 99 via FCIP. Here is my confused take on what is happening.
    HOST can only communicate with DISK if it were in its own VSAN10, which its not. So a FCID is created in VSAN10 of 0x9a6e9f so it can talk to it. This is using domain 9a, which is a virtual domain, not an actual domain so when traffic is directed to it, the MDS re-writes it to 0x736ef8 which is a virtual domain fcid, then the far side mds notices it can get to that pwwn and maps it back to the real fcid in vsan 20 of 0x0900ef. Is this even close? I just want to understand how the "routing" is really working. I understand there is a topology table built, which in this case it is:
    MDS1 10,99
    MDS2 20,99
    (I am using auto topology). Below I have outputs I captured. I had to type these in by hand as there was no way to cut/paste of of the lab I was using. I appreciate any help on this, sorry for the marathon of posts here lately.
    MDS1
    HOST VSAN10
    MDS2
    DISK VSAN20
    I setup an IVRZoneset so that the HOST and the DISK could see eachother. I am using CFS and IVR NAT as well.
    So it works great, the HOST can see the DISK. But I am trying to find out about the translations, here are the tables:
    P26-MDS-1# show fcns database
    VSAN 10:
    FCID TYPE PWWN (VENDOR) FC4-TYPE:FEATURE
    0x9a6e9f N 22:6e:00:0c:50:17:26:00 (Seagate) scsi-fcp:target
    0xbd0000 N 21:00:00:e0:8b:07:4c:5a (Qlogic) scsi-fcp:init
    Total number of entries = 2
    VSAN 99:
    FCID TYPE PWWN (VENDOR) FC4-TYPE:FEATURE
    0x736ef8 N 22:6e:00:0c:50:17:26:00 (Seagate) scsi-fcp:target
    0xa85c9f N 21:00:00:e0:8b:07:4c:5a (Qlogic) scsi-fcp:init
    Total number of entries = 2
    P26-MDS-1# show flogi data
    INTERFACE VSAN FCID PORT NAME NODE NAME
    fc1/5 10 0xbd0000 21:00:00:e0:8b:07:4c:5a 20:00:00:e0:8b:07:4c:5a
    Total number of flogi = 1.
    P26-MDS-2# show fcns database
    VSAN 20:
    FCID TYPE PWWN (VENDOR) FC4-TYPE:FEATURE
    0x0900ef N 22:6e:00:0c:50:17:26:00 (Seagate) scsi-fcp:target
    0x385c50 N 21:00:00:e0:8b:07:4c:5a (Qlogic) scsi-fcp:init
    VSAN 99:
    FCID TYPE PWWN (VENDOR) FC4-TYPE:FEATURE
    0x736ef8 N 22:6e:00:0c:50:17:26:00 (Seagate) scsi-fcp:target
    0xa85c9f N 21:00:00:e0:8b:07:4c:5a (Qlogic) scsi-fcp:init
    P26-MDS-2# show flogi data
    INTERFACE VSAN FCID PORT NAME NODE NAME
    fc1/6 20 0x0900ef 22:6e:00:0c:50:17:26:00 22:6e:00:0c:50:17:26:00
    Total number of flogi = 1.
    P25-MDS-1# sh ivr virtual-domain
    VSAN # Domains IVR Virtual Domains
    10 1 154
    99 2 115,168

    You found the correct command to view how the FCID is rewritten as the frame is transferred from 1 VSAN to another. The re-writes for data frame headers are done by the line cards at wire rate. Some control frames that contain the FCID in the payload are routed to the supervisor so that the payload can be updated with the new FCIDs as well.
    - Mike

  • Trying to understand how beans work.

    I can't seem to figure out how beans work. Or more specifically how to target different parts of a bean. I think not knowing the terminology is a big part of this confusion too.
    For instance. I have a jsp file and a bean. the jsp has a form input that submits to itself. the bean gets the info that was typed in and displays is in the <%= etcetc %> tag. Now, what im trying to do is also submit that value to my mysql db. This has created numerous problems for me. For one, i don't really know how to check if it's working (other than actually looking at the DB table). The other problem is how do i target that part of the bean to tell it to do that function (again, the terminolgy eludes me).
    I'll post all of the code. There is a good chance that the DB code wont work. I'm really just hoping someone can explain to me
    how i call the DB function from the JSP file.
    I mean, is this even possible? Or do i need seperate beans for everything?? It seems kind of silly to not be able to do this.
    ok, so here is the code.
    JSP:
    <!-- JSP Directives -->
    <%@ page errorPage="myError.jsp?from=hello.jsp"%>
    <jsp:useBean id="simpleBean" scope="page" class="jspbook.ch3.simpleBean"/>
    <!-- Set bean properties -->
    <jsp:setProperty name="simpleBean" property="fname"/>
    <html>
    <head>
         <title>Hello</title>
    </head>
    <body>
    <center>
         <b><%= simpleBean.welcomeMsg() %></b>
    </center>
    <table align="center">
         <tr>
              <td>
                   <form name="sdfsdf" action="test.jsp" method="post">
                   <input type="text" name="fname" value="">
                   <input type="submit" name="submit" value="submit">
                   </form>
              </td>
         </tr>
    </table>
    </body>
    </html>and here is the bean
    package jspbook.ch3;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    public class simpleBean implements java.io.Serializable {
       private String emplid;
       private Connection con = null;
       private ResultSet rs = null;
       private PreparedStatement st = null;
       /* Member Variables */
       private String lname;
       private String fname;
      public simpleBean()
            try
              Class.forName("org.gjt.mm.mysql.Driver");
              Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/stm?user=root&password=");
        catch(Exception e)
              System.out.println(e.getMessage());
          /* Initialize bean properties */
        setLname("");
        setFname("");
      /* Accessor Methods */
      public String getLname() {
        return lname;
      public void setLname(String _lname) {
        lname = _lname;
      public String getFname() {
        return fname;
      public void setFname(String _fname) {
        fname = _fname;
      /* Display personalized message */
      public String welcomeMsg() {
        return "Hello " + fname + " " + lname +
          ", welcome to the wonderful world of JavaBeans!";
          public void insert()
           try
                String s1="insert into commstream (commTitle) values('"+fname+"')";
                st = con.prepareStatement(s1);
                st.executeUpdate();
                st.clearParameters();
                st.close();   
           catch(Exception m)
    }So there it is. If someone can explain the fundamentals to me, that would be great. What would also be great is if someone can make the above code work :)
    I've checked online tuts/specs on this, but to be honest im just not grasping it.

    iPhoto is a relational database program
    In the strongly recommended managed library (you have chosen to ignore this recommendation and use a referenced library) imported photos are copied to the iPhoto library and stored in the originals folder, a thumbnail jPEG is created and places in the data folder and when any modification is made (including autorotation) a modified version of the photo is created and placed in the modified folder. iPhoto updates its database entries to reflect everything it does.
    It is critical that you do not make any modifications of any sort to the content or structure of the iPhoto library - doing so is likely to corrupt the library and cause you to lose data.
    When you use the referenced mode which you are doing (and which is not recommended) you are taking total responsibility for the original photos which included not moving or modifying them while iPhoto is referencing them
    Unfortunately, all pictures from a certain import has duplicated in iPhoto.... so I "moved to trash" all pictures from that import
    Did you do this with the iPhoto trash? or did you use the finder to modify the contents of the iPhoto library.
    If I "move to trash", I assumed it got rid of whatever index (and preview cache) to that particular JPEG. I was actually surprised it did not delete the actual JPEG but I'm ok with that.
    again - iPhoto trash or finder trash. If you move a photo to the iPhoto trash and empty it all traces of that photo in the iPhoto library will be removed - nothing will be done to any file outside of the iPhoto library -- ever
    LN

Maybe you are looking for