我想获得一个存储库的所有标签列表以及tagger和带有JGit的commit-IDs.
首先,我尝试了Git.tagList().call()命令并解析标签:
objectIdOfTag = oneResultOfTheTagList.getObjectId();
// or should I call getPeeledObjectId() here?
RevWalk walk = new RevWalk(repository);
RevTag tag = walk.parseTag(objectIdOfTag);
Run Code Online (Sandbox Code Playgroud)
这适用于我的存储库,但我不确定这是否正确:呼叫是正确Ref.getObjectId()还是应该呼叫Ref.getPeeledObjectId()?(什么是" 去皮的 ObjectId"?)
使用JGit检索标记列表时,轻量级和带注释的标记之间是否存在差异?
我是一名游戏初学者,并尝试将我的Web应用程序从Play 2.0.4迁移到新的闪亮的Play 2.1-RC2.由于新的JSON处理,我的代码无法编译.
我已阅读Mandubians博客,Play 2.1迁移指南和Play JSON库文档(测试版),但我仍然不确定迁移代码的最佳方法是什么.
F.ex. 我有一个File带有隐式读对象(Play 2.0)的模型:
object File {
implicit object FileReads extends Reads[File] {
def reads(json: JsValue) = File(
(json \ "name").as[String],
(json \ "size").as[Long]
)
}
}
Run Code Online (Sandbox Code Playgroud)
我在控制器中使用它(Play 2.0):
val file = webserviceResult.json.as[models.File]
Run Code Online (Sandbox Code Playgroud)
Play 2.1 Migration指南告诉我用这样的方法重构它JsSuccess()(Play 2.1?):
object File {
implicit object FileFormat extends Format[File] {
def reads(json: JsValue) = JsSuccess(File(
(json \ "name").as[String],
(json \ "size").as[Long]
))
}
}
Run Code Online (Sandbox Code Playgroud)
但是我现在如何使用这种隐式转换呢?
json scala playframework playframework-2.0 playframework-2.1
我通常启动我的Play 2.0应用play "~run 8991"程序,在端口8991上运行我的应用程序而不是默认端口9000,如此其他Stack Overflow问题中所述.
但是,当我想调试我的应用程序时,如何更改默认端口?
play "debug run 8991"*仍然使用端口9000; 在8991将被忽略.
(关闭选民的注意事项,这不是关联问题的愚蠢.那个没有说调试.)
我有一个简单的Java Maven项目,并希望使用Jolokia的JVM代理来获取JMX值.当我手动下载jolokia-jvm-1.1.5-agent.jar并添加java参数的绝对路径时,它可以工作-javaagent:/absolute/path/to/jolokia-jvm-1.1.5-agent.jar.
由于Jolokia下载页面还列出了maven依赖项(jolokia-core),我想知道是否可以直接将其包含在我的Maven构建中,而无需手动下载JVM代理程序?如何使用此javaagent运行我的程序?
我想在Akeneo V中编辑Variant组后检查某些属性值是否已更改.
不幸的是我有点迷失:有没有办法从a Pim\Bundle\CatalogBundle\Entity\Group到属性值?是否有另一种更好的方法来获取已编辑的Variant组的这些值?
我甚至无法找出MySQL中存储属性值的表(我刚刚找到pim_catalog_product_value了产品值).
我想在Akeneo中创建一个新的变体组,其中包含一些固定属性来"模拟"产品系列的行为.不幸的是,我不知道如何ProductTemplate使用空值来获取某些属性.
当我尝试下面的代码时,在Akeneo GUI中打开创建的变体组后出现错误:
Error: Option "attributes" must only contains instances of "Pim\Bundle\CatalogBundle\Entity\Attribute", got "Pim\Bundle\EnrichBundle\Form\Type\AvailableAttributesType"
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
$groupType = $this->groupManager
->getGroupTypeRepository()
->findOneBy(['code' => 'VARIANT']);
$group = $this->groupFactory->createGroup($groupType);
$group->setCode('MY_VARIANT_GROUP');
$attributes = array($this->attributeRepository->findOneByIdentifier('AXIS_ATTRIBUTE'));
$group->setAxisAttributes($attributes);
// ??? How can I create a new product value?
$productValue1 = new ProductValue();
$productValue1->setId('PREDEFINED_ATTRIBUTE1');
$productValue1->setAttribute($this->attributeRepository->findOneByIdentifier('PREDEFINED_ATTRIBUTE1'));
$productTemplate = new ProductTemplate();
$productTemplate->setValuesData(array($productValue1));
$group->setProductTemplate($productTemplate);
$this->groupSaver->save($group);
Run Code Online (Sandbox Code Playgroud) 我尝试将我的Web应用程序从Play 2.0.4迁移到Play 2.1-RC2.
我有一个带有未知密钥列表的JSON数据(key1,key2),如下所示:
{description: "Blah",
tags: [
key1: ["value1", "value2"],
key2: ["value3"]
]
}
Run Code Online (Sandbox Code Playgroud)
我想将来自JSON的数据存储在元标记列表中.在Play 2.0.4中,我使用了类似的东西来阅读tags-list:
def readMetatags(meta: JsObject): List[Metatag] =
meta.keys.toList.map(x => Metatag(x, (meta \ x).as[List[String]])
Run Code Online (Sandbox Code Playgroud)
现在我想使用新的Play 2.1-JSON-API(Prototype):
import play.api.libs.json._
import play.api.libs.functional.syntax._
object Metatags {
implicit val metatagsRead: Read[Metatags] = (
(JsPath \ "description").read[String] and
(JsPath \ "tags").read[List[Metatag]]
)(Metatags.apply _, unlift(Metatags.unapply _))
implicit val metatagRead: Read[Metatag] = (
JsPath().key. ?? read[String] and // ?!? read key
JsPath().values. ?? read[List[String]] // ?!? read …Run Code Online (Sandbox Code Playgroud) json scala playframework playframework-2.0 playframework-2.1
我将 Play 2.3.0 与 Java 8 一起使用,并希望在所有请求中设置一些标头。
我已经为 Scala 的类似问题找到了Stackoverflow-answers,但我没能把这个例子转换成 Java 世界:
import play.api._
import play.api.mvc._
import play.api.Play.current
import play.api.http.HeaderNames._
object Global extends GlobalSettings {
def NoCache(action: EssentialAction): EssentialAction = EssentialAction { request =>
action(request).map(_.withHeaders(PRAGMA -> "no-cache"))
}
override def onRouteRequest(request: RequestHeader): Option[Handler] = {
if (Play.isDev) {
super.onRouteRequest(request).map { handler =>
handler match {
case a: EssentialAction => NoCache(a)
case other => other
}
}
} else {
super.onRouteRequest(request)
}
}
}
Run Code Online (Sandbox Code Playgroud)
我的尝试:
@Override
public Handler onRouteRequest(final …Run Code Online (Sandbox Code Playgroud) 我通过upstart启动我的Java应用程序和Elasticsearch 1.4.2.有时,当我重新启动服务器时,我会收到NoShardAvailableActionException前5个文档请求中的内容.
我的应用程序首先从Elasticsearch读取了一些文档,而Elasticsearch似乎还没有准备好.当我等待一点并重新启动我的应用程序时,一切正常.
如何检查我的Elasticsearch集群(我只有1个节点)是否已准备好获取文档?
我已经尝试检查群集状态,但即使它已经是黄色,我有时会得到NoShardAvailableActionException:
private static void checkClusterStateNotRed() throws Exception {
while(clusterState() == ClusterHealthStatus.RED) {
Logger.info("Elasticsearch cluster state is red);
Thread.sleep(1000);
}
}
private static ClusterHealthStatus clusterState() throws Exception {
return ElasticsearchClient.getInstance()
.admin().cluster()
.clusterStats(new ClusterStatsRequest())
.get()
.getStatus();
}
Run Code Online (Sandbox Code Playgroud) 我创建了一个Elasticsearch 快照并想用不同数量的分片来恢复它:我的旧集群为每个索引使用 5 个分片,我想将它减少到 2 个分片。
这是否有可能使用 Elasticsearch 快照 API 来做到这一点?
我想覆盖ProductController来自EnrichBundle.
一切都在开发模式下工作,但是当我想在生产服务器上安装它时,php app/console pim:install --env=prod --force我得到错误并且Akeneo不工作:
Load "Title Templates" from annotations and config files to db
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
Title for route "pim_enrich_attributegroup_index" could not be saved. Route not found.
oro:navigation:init
The command terminated with an error code: 1.
Run Code Online (Sandbox Code Playgroud)
安装工作,如果我取消注释getParent()方法MyEnrichBundle,但然后我ProductController不再工作.
class MyEnrichBundle extends Bundle
{
public function getParent()
{
return 'PimEnrichBundle';
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能避免这些ORO安装错误?