/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.curator.framework.imps;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.base.Predicate;
import com.google.common.collect.Iterables;
import org.apache.curator.RetryLoop;
import org.apache.curator.drivers.OperationTrace;
import org.apache.curator.framework.api.*;
import org.apache.curator.framework.api.transaction.OperationType;
import org.apache.curator.framework.api.transaction.TransactionCreateBuilder;
import org.apache.curator.framework.api.transaction.TransactionCreateBuilder2;
import org.apache.curator.utils.InternalACLProvider;
import org.apache.curator.utils.ThreadUtils;
import org.apache.curator.utils.ZKPaths;
import org.apache.zookeeper.AsyncCallback;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.Op;
import org.apache.zookeeper.data.ACL;
import org.apache.zookeeper.data.Stat;
import org.apache.zookeeper.server.DataTree;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.Callable;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicBoolean;
public class CreateBuilderImpl implements CreateBuilder, CreateBuilder2, BackgroundOperation<PathAndBytes>, ErrorListenerPathAndBytesable<String>
{
private final CuratorFrameworkImpl client;
private CreateMode createMode;
private Backgrounding backgrounding;
private boolean createParentsIfNeeded;
private boolean createParentsAsContainers;
private boolean doProtected;
private boolean compress;
private boolean setDataIfExists;
private int setDataIfExistsVersion = -1;
private String protectedId;
private ACLing acling;
private Stat storingStat;
private long ttl;
@VisibleForTesting
boolean failNextCreateForTesting = false;
@VisibleForTesting
static final String PROTECTED_PREFIX = "_c_";
CreateBuilderImpl(CuratorFrameworkImpl client)
{
this.client = client;
createMode = CreateMode.PERSISTENT;
backgrounding = new Backgrounding();
acling = new ACLing(client.getAclProvider());
createParentsIfNeeded = false;
createParentsAsContainers = false;
compress = false;
doProtected = false;
setDataIfExists = false;
protectedId = null;
storingStat = null;
ttl = -1;
}
public CreateBuilderImpl(CuratorFrameworkImpl client, CreateMode createMode, Backgrounding backgrounding, boolean createParentsIfNeeded, boolean createParentsAsContainers, boolean doProtected, boolean compress, boolean setDataIfExists, List<ACL> aclList, Stat storingStat, long ttl)
{
this.client = client;
this.createMode = createMode;
this.backgrounding = backgrounding;
this.createParentsIfNeeded = createParentsIfNeeded;
this.createParentsAsContainers = createParentsAsContainers;
this.doProtected = doProtected;
this.compress = compress;
this.setDataIfExists = setDataIfExists;
protectedId = null;
this.acling = new ACLing(client.getAclProvider(), aclList);
this.storingStat = storingStat;
this.ttl = ttl;
}
public void setSetDataIfExistsVersion(int version)
{
this.setDataIfExistsVersion = version;
}
@Override
public CreateBuilder2 orSetData()
{
return orSetData(-1);
}
@Override
public CreateBuilder2 orSetData(int version)
{
setDataIfExists = true;
setDataIfExistsVersion = version;
return this;
}
@Override
public CreateBuilderMain withTtl(long ttl)
{
Preconditions.checkState(!client.isZk34CompatibilityMode(), "TTLs are not support when running in ZooKeeper 3.4 compatibility mode");
this.ttl = ttl;
return this;
}
<T> TransactionCreateBuilder<T> asTransactionCreateBuilder(final T context, final CuratorMultiTransactionRecord transaction)
{
return new TransactionCreateBuilder<T>()
{
@Override
public PathAndBytesable<T> withACL(List<ACL> aclList)
{
return withACL(aclList, false);
}
@Override
public PathAndBytesable<T> withACL(List<ACL> aclList, boolean applyToParents)
{
CreateBuilderImpl.this.withACL(aclList, applyToParents);
return this;
}
@Override
public TransactionCreateBuilder2<T> withTtl(long ttl)
{
CreateBuilderImpl.this.withTtl(ttl);
return this;
}
@Override
public ACLPathAndBytesable<T> withMode(CreateMode mode)
{
CreateBuilderImpl.this.withMode(mode);
return this;
}
@Override
public ACLCreateModePathAndBytesable<T> compressed()
{
CreateBuilderImpl.this.compressed();
return this;
}
@Override
public T forPath(String path) throws Exception
{
return forPath(path, client.getDefaultData());
}
@Override
public T forPath(String path, byte[] data) throws Exception
{
if ( compress )
{
data = client.getCompressionProvider().compress(path, data);
}
String fixedPath = client.fixForNamespace(path);
if ( client.isZk34CompatibilityMode() )
{
transaction.add(Op.create(fixedPath, data, acling.getAclList(path), createMode), OperationType.CREATE, path);
}
return context;
}
};
}
@Override
public CreateBackgroundModeStatACLable compressed()
{
compress = true;
return new CreateBackgroundModeStatACLable()
{
@Override
public CreateBackgroundModeACLable storingStatIn(Stat stat)
{
storingStat = stat;
return asCreateBackgroundModeACLable();
}
@Override
public ACLCreateModePathAndBytesable<String> creatingParentsIfNeeded()
{
createParentsIfNeeded = true;
return asACLCreateModePathAndBytesable();
}
@Override
public ACLCreateModePathAndBytesable<String> creatingParentContainersIfNeeded()
{
setCreateParentsAsContainers();
return creatingParentsIfNeeded();
}
@Override
public ACLPathAndBytesable<String> withProtectedEphemeralSequential()
{
return CreateBuilderImpl.this.withProtectedEphemeralSequential();
}
@Override
public BackgroundPathAndBytesable<String> withACL(List<ACL> aclList)
{
return CreateBuilderImpl.this.withACL(aclList);
}
@Override
public BackgroundP
没有合适的资源?快使用搜索试试~ 我知道了~
815物联网平台云端后台.zip
共744个文件
java:568个
xml:80个
yml:45个
需积分: 5 0 下载量 42 浏览量
2024-04-21
20:14:48
上传
评论
收藏 4.95MB ZIP 举报
温馨提示
物联网(Internet of Things,缩写IoT)起源于传媒领域,是信息科技产业的第三次革命。它通过信息传感设备,按约定的协议,将任何物体与网络相连接,物体通过信息传播媒介进行信息交换和通信,以实现智能化识别、定位、跟踪、监管等功能。物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信,也就是物物相息。 物联网的应用非常广泛,包括智慧医疗、智能电网、环境保护、智慧建筑、智能家居、智慧农业等领域。在智慧医疗领域,物联网技术使得医疗智能穿戴设备可以检测记录患者的心率、血压等,方便本人或者医生查看;在智能电网和环境保护领域,物联网技术被运用到水、电、太阳能、垃圾箱等设备中,提高资源利用率,降低资源损耗;在智能家居领域,物联网让家更舒适、安全、高效,比如扫地机器人等设备;在智慧农业领域,物联网技术可以实现数据的可视化分析、远程操作和灾害预警,帮助农民实现精确管理。 此外,物联网设备在公共卫生领域也有重要应用,如用于更准确地跟踪感染的传播并防止类似的大流行再次发生。在零售领域,物联网设备可以帮助零售商店更好地
资源推荐
资源详情
资源评论
收起资源包目录
815物联网平台云端后台.zip (744个子文件)
run.bat 242B
package.bat 140B
clean.bat 105B
spring.factories 213B
.gitignore 721B
druid-1.1.14.jar 2.64MB
activiti-image-generator-5.22.0.jar 71KB
CreateBuilderImpl.java 48KB
AnImcInspectionTaskServiceImpl.java 32KB
ExcelUtil.java 25KB
Convert.java 25KB
JSONObject.java 21KB
SysUserServiceImpl.java 16KB
ZookeeperRegistryCenter.java 16KB
AnImcInspectionItemServiceImpl.java 14KB
IotImcLogAspect.java 14KB
ReflectUtils.java 14KB
ElasticJobAutoConfiguration.java 13KB
VelocityUtils.java 11KB
DeviceServiceImpl.java 11KB
GenTableServiceImpl.java 10KB
ZookeeperRegistryCenter.java 10KB
SysMenuServiceImpl.java 10KB
StringUtils.java 10KB
TpcMqMessageServiceImpl.java 9KB
IotImcInspectionTaskController.java 9KB
SysRoleServiceImpl.java 9KB
PdfUtil.java 9KB
MqMessageServiceImpl.java 8KB
HttpUtils.java 8KB
SysUserController.java 8KB
SysDeptServiceImpl.java 8KB
TpcMqMessage.java 8KB
AnImcInspectionItem.java 7KB
AnImcInspectionTask.java 7KB
GenTableColumn.java 7KB
GenUtils.java 7KB
SysUser.java 7KB
FileUploadUtils.java 7KB
MqTopicConstants.java 6KB
AnImcItemInvoice.java 6KB
SysOssController.java 6KB
GenController.java 6KB
TpcMqConsumerServiceImpl.java 6KB
DeviceModelServiceImpl.java 6KB
TpcMqConsumerController.java 6KB
ElasticJobConfig.java 6KB
HandleSendingMessageJob.java 6KB
OperLogAspect.java 6KB
IotImcInspectionItemController.java 5KB
DataScopeAspect.java 5KB
SysCompanyServiceImpl.java 5KB
JacksonUtil.java 5KB
IpUtils.java 5KB
MybatisPlusConfig.java 5KB
GenTable.java 5KB
TpcMqConfirm.java 5KB
TpcMqTopic.java 5KB
SysLoginService.java 5KB
MqMessage.java 5KB
MqMessage.java 5KB
BaseService.java 5KB
AnImcInspectionItemLog.java 5KB
BaseController.java 5KB
TpcMqProducer.java 5KB
RedisAspect.java 5KB
AnImcInspectionTaskLog.java 5KB
SysPostServiceImpl.java 4KB
AnImcItemInvoiceServiceImpl.java 4KB
ITpcMqMessageService.java 4KB
SysCompany.java 4KB
JSON.java 4KB
ISysUserService.java 4KB
FileUtils.java 4KB
K8sDeviceConfig.java 4KB
TpcMqConsumer.java 4KB
TpcMqProducerController.java 4KB
ImgCodeFilter.java 4KB
AuthFilter.java 4KB
TpcMqTag.java 4KB
IService.java 4KB
UserConstants.java 4KB
TpcMessageMainController.java 4KB
ImcAddInspectionTaskDto.java 4KB
IAnImcInspectionTaskService.java 4KB
MqConsumerStoreAspect.java 4KB
SysDictTypeServiceImpl.java 4KB
DateUtils.java 4KB
MqProducerChangeListener.java 4KB
MqConsumerChangeListener.java 4KB
MqProducerStoreAspect.java 4KB
AnImcInspectionReview.java 4KB
SysDept.java 4KB
TpcMqMessageFeiginController.java 4KB
SysRole.java 4KB
AnImcItemInvoiceDesc.java 4KB
TpcMqTopicController.java 4KB
UniqueIdGenerator.java 4KB
CloudStorageConfig.java 4KB
SysUserOnline.java 4KB
共 744 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
生瓜蛋子
- 粉丝: 3828
- 资源: 5678
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功