我在CQ中创建了一个需要通过XHR以编程方式运行的工作流程.
正如你们许多人所知,CQ文档并不是最好的(至少在这一点上).我该如何以编程方式运行它?
在Sightly模板语言中,对于Adobe AEM6(CQ),如果条件为真,如何在不重复大量代码/逻辑的情况下,如何向元素添加属性?
例如
<ul data-sly-list="${items}" ${if condition1} class="selected"${/if}>
<li${if condition2} class="selected"${/if}>
Lots of other code here
</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我想向AEM写一些数据,下面的代码在AEM 6.0中适用于我,但在AEM 6.1中没有,总是抛出一个Login Exception,如下所示:
" 获取服务的CRX用户时出现登录异常:'writeService'.org.apache.sling.api.resource.LoginException:无法派生bundle group.tti.commons-service [395]和子服务writeService的用户名 "
OSGI配置:

我班上的代码:
import javax.jcr.Session;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
....
@Reference
private ResourceResolverFactory factory;
private ResourceResolver resourceResolverWriter;
private static Session adminSession;
...
...
Map<String, Object> param = new HashMap<String, Object>();
param.put(ResourceResolverFactory.SUBSERVICE, "writeService");
try {
resourceResolverWriter = factory.getServiceResourceResolver(param);
adminSession = resourceResolverWriter.adaptTo(Session.class);
...
} catch (LoginException e) {
...
}
Run Code Online (Sandbox Code Playgroud)
我在AEM 6.1上遗漏了什么?
我必须拖动图像并将其放入CQ5组件中.图像和组件位于不同的帧中.
以下是无效的代码,因为destination当目标框架处于活动状态时无法找到webelement .
new Actions(driver).dragAndDrop(target, destination).perform();
我还尝试在动作之间切换帧:
Actions builder = new Actions(driver);
Actions action = builder.clickAndHold(target);
driver.switchTo().frame("newFrame"); //switching frames
builder.moveToElement(destination);
builder.release(destination);
builder.build();
action.perform();
Run Code Online (Sandbox Code Playgroud)
这也不起作用.然后,我尝试通过偏移移动图像
new Actions(driver).dragAndDropBy(target, x, y).perform(); // x and y
Run Code Online (Sandbox Code Playgroud)
这移动了图像,但组件没有捕获它,可能因为动作太快了.有没有办法可以做这样的拖拽?
提前致谢.
如何以编程方式知道实例正在运行的运行模式?我创建了一个自定义标记,根据实例运行模式提供配置,但我无法确定当前的运行模式.
我找到了一个返回run-mods实例列表的方法:
SlingSettings settings = ...get from BundleContext...
Set<String> currentRunModes = settings.getRunModes();
Run Code Online (Sandbox Code Playgroud)
但我无法获取SlingSettings或BundleContext对象.如何获取这些对象,或者可能有另一种方法来获取当前的运行模式?
我真的很想学习"Adobe CQ".我的问题是,我需要学习哪些技术来理解adobe cq.
有关Adobe CQ和相关技术的任何教程都很有帮助.
谢谢你,斯里兰卡
我正在使用一个简单的创作对话框构建一个相对简单的AEM组件.在我的对话框顶部是一个选择字段.当此选择字段设置为特定项时,我希望对话框中的某些字段消失.
我已经研究了Foundation Carousel组件的实现,它使用了cq-dialog-dropdown-showhide-target属性,这很好,但不是我想要的逻辑.那里使用的逻辑是:
如果select等于X,则显示此字段
而我正在尝试实施:
如果select等于X,Y或Z,则隐藏此字段,否则显示它
有没有其他人在对话框中实现这种逻辑有困难?
先感谢您!
戴夫
我正在尝试实现一些我希望相对简单的东西...我有一个组件(让我们称之为包装器组件),它包含另一个组件(让我们称之为内部组件)通过data-sly-resource标签:
<div data-sly-resource="${ 'inner' @ resourceType='/projectname/components/inner' }"></div>
Run Code Online (Sandbox Code Playgroud)
我想用这个标签传递一些额外的参数,特别是一个可以在内部组件模板中选择的参数?我试图指定是否根据通过data-sly-resource调用组件时传入的参数来解包内部模板外部html标记.
在试验和仔细阅读文档后,我无法找到实现这一目标的方法.
有谁知道这是否可能?
非常感谢,
戴夫
我目前正在将Adobe Experience Manager(AEM也称为CQ)用于客户端站点(Java平台).它使用OpenJDK:
java version "1.7.0_65"
OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)
OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
Run Code Online (Sandbox Code Playgroud)
它在Rackspace上运行,具有以下内容:
vCPU: 4
Memory: 16GB
Guest OS: Red Hat Enterprise Linux 6 (64-bit)
Run Code Online (Sandbox Code Playgroud)
由于它已经投入生产,我在应用程序方面遇到了非常慢的性能.它就是这样我启动应用程序,一切顺利然后7到10天后CPU使用率达到400%(每天约4000个用户点击网站).该网站变得异常缓慢,永远不会成为OOM例外.
由于我是Java内存管理的新手,我开始阅读它是如何工作的,并找到了像jstat和jmap这样的工具.当系统第二次被淹没时,我得到一个堆转储并挖到它.
这一切似乎都在指出org.slf4j.helpers.BasicMarkerFactory和org.slf4j.helpers.BasicMarker,因为当我用MAT eclipse进行分析时,我看到保留大小的最大保留对象是:
org.slf4j.helpers.BasicMarkerFactory @ 0x6021a4f00
Shallow Size: 16 B Retained Size: 6.8 GB
Run Code Online (Sandbox Code Playgroud)
和
当我运行泄漏嫌疑人报告时,我得到以下结果:
Description
One instance of "org.slf4j.helpers.BasicMarkerFactory" loaded by "org.apache.felix.framework.BundleWiringImpl$BundleClassLoaderJava5 @ 0x60219a878" occupies 7,263,024,848 (96.71%) bytes. The memory is accumulated in one instance of "java.util.concurrent.ConcurrentHashMap$Segment[]" loaded by "<system class loader>".
Keywords …Run Code Online (Sandbox Code Playgroud) aem ×10
sling ×3
adobe ×2
sightly ×2
day-cq ×1
java ×1
jcr ×1
memory-leaks ×1
osgi ×1
performance ×1
selenium ×1
servlets ×1
slf4j ×1
templating ×1
workflow ×1