java如何设table只读_Java HTableDescriptor.setReadOnly方法代码示例

import org.apache.hadoop.hbase.HTableDescriptor; //导入方法依赖的package包/类

@Test(timeout=60000)

public void testModifyTable() throws Exception {

final TableName tableName = TableName.valueOf("testModifyTable");

final ProcedureExecutor procExec = getMasterProcedureExecutor();

MasterProcedureTestingUtility.createTable(procExec, tableName, null, "cf");

UTIL.getHBaseAdmin().disableTable(tableName);

// Modify the table descriptor

HTableDescriptor htd = new HTableDescriptor(UTIL.getHBaseAdmin().getTableDescriptor(tableName));

// Test 1: Modify 1 property

long newMaxFileSize = htd.getMaxFileSize() * 2;

htd.setMaxFileSize(newMaxFileSize);

htd.setRegionReplication(3);

long procId1 = ProcedureTestingUtility.submitAndWait(

procExec, new ModifyTableProcedure(procExec.getEnvironment(), htd));

ProcedureTestingUtility.assertProcNotFailed(procExec.getResult(procId1));

HTableDescriptor currentHtd = UTIL.getHBaseAdmin().getTableDescriptor(tableName);

assertEquals(newMaxFileSize, currentHtd.getMaxFileSize());

// Test 2: Modify multiple properties

boolean newReadOnlyOption = htd.isReadOnly() ? false : true;

long newMemStoreFlushSize = htd.getMemStoreFlushSize() * 2;

htd.setReadOnly(newReadOnlyOption);

htd.setMemStoreFlushSize(newMemStoreFlushSize);

long procId2 = ProcedureTestingUtility.submitAndWait(

procExec, new ModifyTableProcedure(procExec.getEnvironment(), htd));

ProcedureTestingUtility.assertProcNotFailed(procExec.getResult(procId2));

currentHtd = UTIL.getHBaseAdmin().getTableDescriptor(tableName);

assertEquals(newReadOnlyOption, currentHtd.isReadOnly());

assertEquals(newMemStoreFlushSize, currentHtd.getMemStoreFlushSize());

}

import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QPushButton, QVBoxLayout, QHBoxLayout from PyQt5.QtCore import Qt class QueueSystem(QWidget): def __init__(self): super().__init__() self.queue = [] # 存储队列信息 self.current_number = 0 # 当前的序号 self.initUI() def initUI(self): # 创建控件 self.label_title = QLabel('排队取号系统', self) self.label_number = QLabel('当前序号:{}'.format(self.current_number), self) self.label_queue = QLabel('等待人数:{}'.format(len(self.queue)), self) self.button_get_number = QPushButton('取号', self) self.button_reset = QPushButton('重置', self) # 置控件样式 self.label_title.setAlignment(Qt.AlignCenter) self.label_title.setStyleSheet('font-size: 24px;') self.label_number.setStyleSheet('font-size: 18px;') self.label_queue.setStyleSheet('font-size: 18px;') self.button_get_number.setStyleSheet('font-size: 18px;') self.button_reset.setStyleSheet('font-size: 18px;') # 创建布局 vbox = QVBoxLayout() vbox.addWidget(self.label_title) vbox.addWidget(self.label_number) vbox.addWidget(self.label_queue) hbox = QHBoxLayout() hbox.addWidget(self.button_get_number) hbox.addWidget(self.button_reset) vbox.addLayout(hbox) self.setLayout(vbox) # 连接信号槽 self.button_get_number.clicked.connect(self.get_number) self.button_reset.clicked.connect(self.reset) # 置窗口属性 self.setWindowTitle('排队取号系统') self.setGeometry(300, 300, 300, 200) self.show() def get_number(self): self.current_number += 1 self.queue.append(self.current_number) self.update_info() def reset(self): self.current_number = 0 self.queue = [] self.update_info() def update_info(self): self.label_number.setText('当前序号:{}'.format(self.current_number)) self.label_queue.setText('等待人数:{}'.format(len(self.queue))) def notify(self, number): if len(self.queue) > 0 and self.queue[0] == number: self.queue.pop(0) self.update_info() print('叫号:{}'.format(number)) if __name__ == '__main__': app = QApplication(sys.argv) queue_system = QueueSystem() sys.exit(app.exec_()) 优化该代码,使窗口最大化且不可以放大缩小,具备打印取号和记录当天取号记录功能
06-01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值