1

我开始修改个人资料,并在此过程中犯了一些错误。

因此,我想完全删除配置文件中的 PID。

这些可以fabric:profile-display default在本文底部显示的输出中看到。

他们是:

http:

patch.repositories=http:

org.ops4j.pax.url.mvn.repositories=http:

我找不到删除它的正确命令。我试过了:

config:delete org.ops4j.pax.url.mvn.repositories=http:

成功完成。但是default配置文件仍然列出了这个 pid。

我也试过:

fabric:profile-edit --delete -p org.ops4j.pax.url.mvn.repositories=http: default

失败了:

Error executing command: String index out of range: -1

这表示/property必须指定属性路径。

附加也根本/不起作用。

另一个问题是我有一个看似空名称的 pid,如下行所示:

PID: (此输出前缀后面没有任何内容)。

输出fabric:profile-display default

Profile id: default
Version   : 1.0
Parents   : 
Associated Containers : 

Container settings
----------------------------
Repositories : 
        mvn:org.fusesource.fabric/fuse-fabric/7.0.1.fuse-084/xml/features

Features : 
        fabric-agent
        karaf
        fabric-jaas
        fabric-core

Agent Properties : 
          patch.repositories =  http://repo.fusesource.com/nexus/content/repositories/releases,
                 http://repo.fusesource.com/nexus/content/groups/ea
          org.ops4j.pax.url.mvn.repositories =  http://repo1.maven.org/maven2,
                 http://repo.fusesource.com/nexus/content/repositories/releases,
                 http://repo.fusesource.com/nexus/content/groups/ea,
                 http://repository.springsource.com/maven/bundles/release,
                 http://repository.springsource.com/maven/bundles/external,
                 http://scala-tools.org/repo-releases
          org.ops4j.pax.url.mvn.defaultRepositories =   file:${karaf.home}/${karaf.default.repository}@snapshots,
                file:${karaf.home}/local-repo@snapshots


Configuration details
----------------------------
PID: 


PID: org.ops4j.pax.url.mvn
  org.ops4j.pax.url.mvn.useFallbackRepositories false
  org.ops4j.pax.url.mvn.disableAether true
  org.ops4j.pax.url.mvn.repositories ${profile:org.fusesource.fabric.agent/org.ops4j.pax.url.mvn.repositories}
  org.ops4j.pax.url.mvn.defaultRepositories ${profile:org.fusesource.fabric.agent/org.ops4j.pax.url.mvn.defaultRepositories}


PID: patch.repositories=http:


PID: org.ops4j.pax.url.mvn.repositories=http:


PID: http:


PID: org.fusesource.fabric.zookeeper
  zookeeper.url ${zk:root/ip}:2181

如果有人能指出正确的命令,我将不胜感激。

4

2 回答 2

2

我查看了fabric:profile-editwith的命令行代码--delete,不幸的是,这个函数似乎是为从 PID 中删除键/值对而设计的,而不是删除 PID 本身。

(这里是github 上ProfileEdit.java的代码)

所以基本上你可以使用该命令来“清空”PID,但不能删除它们。

fabric:profile-edit --delete --pid mypid/mykey=myvalue myprofile

知道这对你没有多大帮助,我问了坐在我旁边的同事(比我聪明得多),他推荐了以下内容:

  1. 启用熔断器管理控制台container-add-profile root fmc

  2. 在浏览器中运行 fmc(我的位于 localhost 的 8181 端口),转到Profiles页面,从列表中选择您的个人资料

  3. 转到Config Files选项卡,找到您要核对的 PI​​D,然后单击十字 (X)。

等等,pid 应该消失了。有兴趣知道这是否适合您,包括在“空白”个人资料中...

于 2013-06-17T10:51:11.580 回答
0

以下适用于 Fuse 6.2:

1) 用于属性文件(成为 PID 对象)

# create
profile-edit --resource foobar.properties default

# delete
profile-edit --delete --pid foobar default

2) 对于任意文件

# create
profile-edit --resource foobar.xml default


#delete
only via hawtio web console, see screenshot:

在此处输入图像描述

于 2016-05-18T12:04:01.183 回答