public class glassfish.mq.examples.jms.TransactedExample$Retailer extends java.lang.Thread
{
int quantity;
public void <init>(int)
{
int v;
glassfish.mq.examples.jms.TransactedExample$Retailer v;
v := @this: glassfish.mq.examples.jms.TransactedExample$Retailer;
v := @parameter: int;
specialinvoke v.<java.lang.Thread: void <init>()>();
v.<TransactedExample$Retailer: int quantity> = 0;
v.<TransactedExample$Retailer: int quantity> = v;
return;
}
public void run()
{
jakarta.jms.Session v;
boolean v, v;
jakarta.jms.MapMessage v;
jakarta.jms.Message v, v, v;
java.lang.Exception v, v;
glassfish.mq.examples.jms.TransactedExample$Retailer v;
java.lang.Throwable v;
jakarta.jms.MessageProducer v;
jakarta.jms.Queue v, v;
jakarta.jms.MessageConsumer v;
int v, v, v, v, v;
jakarta.jms.ConnectionFactory v;
java.lang.String v, v, v, v, v, v, v, v;
jakarta.jms.Connection v;
java.io.PrintStream v, v, v, v, v, v, v, v, v, v;
v := @this: glassfish.mq.examples.jms.TransactedExample$Retailer;
v = null;
v = null;
v = null;
v = null;
label:
v = staticinvoke <SampleUtilities: jakarta.jms.ConnectionFactory getConnectionFactory()>();
v = interfaceinvoke v.<jakarta.jms.ConnectionFactory: jakarta.jms.Connection createConnection()>();
v = interfaceinvoke v.<jakarta.jms.Connection: jakarta.jms.Session createSession(boolean,int)>(0, 1);
v = <TransactedExample: java.lang.String vendorOrderQueueName>;
v = staticinvoke <SampleUtilities: jakarta.jms.Queue getQueue(java.lang.String,jakarta.jms.Session)>(v, v);
v = <TransactedExample: java.lang.String retailerConfirmationQueueName>;
v = staticinvoke <SampleUtilities: jakarta.jms.Queue getQueue(java.lang.String,jakarta.jms.Session)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Connection problem: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Program assumes five queues named A B C D E");
staticinvoke <java.lang.System: void exit(int)>(1);
label:
v = interfaceinvoke v.<jakarta.jms.Session: jakarta.jms.MessageProducer createProducer(jakarta.jms.Destination)>(v);
v = interfaceinvoke v.<jakarta.jms.Session: jakarta.jms.MapMessage createMapMessage()>();
interfaceinvoke v.<jakarta.jms.MapMessage: void setString(java.lang.String,java.lang.String)>("Item", "Computer(s)");
v = v.<TransactedExample$Retailer: int quantity>;
interfaceinvoke v.<jakarta.jms.MapMessage: void setInt(java.lang.String,int)>("Quantity", v);
interfaceinvoke v.<jakarta.jms.MapMessage: void setJMSReplyTo(jakarta.jms.Destination)>(v);
interfaceinvoke v.<jakarta.jms.MessageProducer: void send(jakarta.jms.Message)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = v.<TransactedExample$Retailer: int quantity>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Retailer: ordered \u computer(s)");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = interfaceinvoke v.<jakarta.jms.Session: jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination)>(v);
interfaceinvoke v.<jakarta.jms.Connection: void start()>();
v = interfaceinvoke v.<jakarta.jms.MessageConsumer: jakarta.jms.Message receive()>();
v = interfaceinvoke v.<jakarta.jms.MapMessage: boolean getBoolean(java.lang.String)>("OrderAccepted");
if v != 1 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Retailer: Order filled");
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Retailer: Order not filled");
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Retailer: placing another order");
v = v.<TransactedExample$Retailer: int quantity>;
v = v * 2;
interfaceinvoke v.<jakarta.jms.MapMessage: void setInt(java.lang.String,int)>("Quantity", v);
interfaceinvoke v.<jakarta.jms.MessageProducer: void send(jakarta.jms.Message)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = interfaceinvoke v.<jakarta.jms.MapMessage: int getInt(java.lang.String)>("Quantity");
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Retailer: ordered \u computer(s)");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = interfaceinvoke v.<jakarta.jms.MessageConsumer: jakarta.jms.Message receive()>();
v = interfaceinvoke v.<jakarta.jms.MapMessage: boolean getBoolean(java.lang.String)>("OrderAccepted");
if v != 1 goto label;
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Retailer: Order filled");
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>("Retailer: Order not filled");
label:
v = interfaceinvoke v.<jakarta.jms.Session: jakarta.jms.Message createMessage()>();
interfaceinvoke v.<jakarta.jms.MessageProducer: void send(jakarta.jms.Message)>(v);
label:
goto label;
label:
v := @caughtexception;
v = <java.lang.System: java.io.PrintStream out>;
v = virtualinvoke v.<java.lang.Exception: java.lang.String toString()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Retailer: Exception occurred: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
virtualinvoke v.<java.lang.Exception: void printStackTrace()>();
<TransactedExample: int exitResult> = 1;
label:
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Exception from label to label with label;
catch java.lang.Exception from label to label with label;
catch java.lang.Throwable from label to label with label;
catch java.lang.Throwable from label to label with label;
}
}