Ява EJB @Asynchronous петля - Как знать, когда все требования завершены перед хождением дальше?

У меня есть этот код в ejb

for (PayrollEntry pe : payroll.getEntries()) {
    recalculatePayrollEntry(pe);
}

CalculateTotals(payroll);

, который вызывает этот асинхронный метод

@Asynchronous
public void recalculatePayrollEntry(PayrollEntry pe) {
    // Calculate Payroll Entry;
    pe.setEarningsEntries(newEarnings);
}

Какой способ лучше всего подождать до тех пор, пока все эти пересчеты не будут выполнены, прежде чем вызывать CalcingedTotals?

-121--1731083-

Почему GridBagLayout центрирует мои компоненты вместо того, чтобы поместить их в угол? (с помощью ручного кода), насколько это возможно, но я не смог избежать этого на этот раз, и я читаю учебник SUN GridBagLayout Пока дела идут плохо....

Пока мне удалось максимально избежать использования GridBagLayout (по коду руки), но на этот раз я не смог избежать этого, и я читаю учебник SUN GridBagLayout Пока дела идут плохо. Думаю, я кое-что не понимаю.
Например, я пробую следующий код (аналогичный коду в публикации SUN):

public class MainFrame extends JFrame { 


    public static void main(String args[]) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    MainFrame frame = new MainFrame();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the frame
     */
    public MainFrame() {
        super();
        setBounds(100, 100, 500, 375);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        Container mainContainer = getContentPane();

        mainContainer.setLayout(new GridBagLayout());       

        //add label
        JLabel someLabel = new JLabel("Label 1:");
        GridBagConstraints constraints = new GridBagConstraints();

        constraints.gridx = 0;
        constraints.gridy = 0;
        //constraints.anchor = GridBagConstraints.FIRST_LINE_START;
        //constraints.weightx = 0.5;
        mainContainer.add(someLabel, constraints);      

        JTextField someText = new JTextField(30);

        constraints = new GridBagConstraints();

        constraints.gridx = 1;
        constraints.gridy = 0;
        constraints.weightx = 0.5;
        mainContainer.add(someText, constraints);

        //
    }

}

Я получаю метку и текстовое поле один рядом с другим в центре кадра.
Но я ожидал, что они появятся в верхнем левом углу, так как gridx и gridy равно 0 для метки.
Даже если задать constraints.anchor = GridBagConstraints.FIRST_LINE_START;, результат будет тем же самым.
Я ошибаюсь здесь?
Из сообщения SUN

Укажите строку и столбец в левом верхнем углу компонента. крайний левый столбец имеет адрес gridx = 0, а верхняя строка - адрес gridy = 0.

16
задан Paŭlo Ebermann 2 September 2011 в 16:12
поделиться