📄 testxid.java
字号:
/*
* Copyright 2004-2008 H2 Group. Licensed under the H2 License, Version 1.0
* (license2)
* Initial Developer: James Devenish
*/
package org.h2.test.jdbcx;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.text.NumberFormat;
import javax.transaction.xa.Xid;
/**
* A utility class for the basic XA test.
*/
public class TestXid implements Xid {
private static final NumberFormat NF;
private static int fXidCounter;
private int fFormatId;
private byte[] fGlobalTransactionId;
private byte[] fBranchQualifier;
private int fId;
private long fCreationTime;
static {
NumberFormat nf = NumberFormat.getIntegerInstance();
nf.setMaximumIntegerDigits(5);
nf.setMinimumIntegerDigits(5);
nf.setGroupingUsed(false);
NF = nf;
}
public static void main(String[] args) {
new TestXid();
}
public TestXid() {
this(1);
}
public TestXid(int branch) {
synchronized (TestXid.class) {
fXidCounter++;
fId = fXidCounter;
}
fCreationTime = System.currentTimeMillis();
String host;
try {
InetAddress ia = InetAddress.getLocalHost();
host = ia.getHostName();
} catch (UnknownHostException e) {
host = "localhost";
}
fFormatId = 0;
fGlobalTransactionId = new byte[MAXGTRIDSIZE];
fBranchQualifier = new byte[MAXBQUALSIZE];
StringBuffer sb;
byte[] ba;
sb = new StringBuffer();
sb.append(host);
sb.append(":");
sb.append(fId);
sb.append(":");
sb.append(fCreationTime);
// System.out.println("global transaction id: " + sb.toString());
ba = sb.toString().getBytes();
for (int i = 0; i < MAXGTRIDSIZE; i++) {
fGlobalTransactionId[i] = (byte) ' ';
}
for (int i = 0; i < ba.length; i++) {
fGlobalTransactionId[i] = ba[i];
}
sb = new StringBuffer(NF.format(branch));
// System.out.println("branch qualifier: " + sb.toString());
ba = sb.toString().getBytes();
for (int i = 0; i < MAXBQUALSIZE; i++) {
fBranchQualifier[i] = (byte) ' ';
}
for (int i = 0; i < ba.length; i++) {
fBranchQualifier[i] = ba[i];
}
}
public int getFormatId() {
return fFormatId;
}
public byte[] getGlobalTransactionId() {
return fGlobalTransactionId;
}
public byte[] getBranchQualifier() {
return fBranchQualifier;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -