我正在尝试使用/* Cache the player. */
var x = document.getElementById("sound-player");
/* Create an IIFE and execute it recursively. */
(function playRecursively (current, last) {
x.src = secilen[current];
x.play();
x.onended = function() {
/* Play the next, if the current is not the last. */
if (current < last) playRecursively(++current, last);
else alert("bitti");
};
})(0, secilen.length - 1);
编写一个简单的查询,但我的尝试失败并出现以下异常。
QueryDSL
我尝试通过以下方式执行查询。
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
另一种方式。
SessionFactory sf = new Configuration().configure().buildSessionFactory();
Session session = sf.openSession();
JPQLQuery query = new HibernateQuery(session);
QClient t = QClient.client;
List<Client> lst = query.from(t).list(t);
System.out.println(lst.size());
如上所述,这两种方式都失败了同样的例外。
我使用的是Postrges DB,参数在 EntityManagerFactory emf =
Persistence.createEntityManagerFactory("my.package.entities");
EntityManager em = emf.createEntityManager();
JPAQuery query = new JPAQuery(em);
QClient t = QClient.client;
List<Client> lst = query.from(t).list(t);
System.out.println(lst.size());
。
我需要设置更多功能吗?
答案 0 :(得分:0)
javax.naming包包含JNDI API。由于它只是一个API,而不是一个实现,因此您需要告诉它使用哪个JNDI实现。这些实现通常特定于您尝试与之交谈的服务器。
要指定实现,请在构造InitialContext时传入Properties对象。这些属性指定要使用的实现以及服务器的位置。默认的InitialContext构造函数仅在存在系统属性时才有用,但属性与手动传递它们的属性相同。
至于您需要设置哪些属性,这取决于您的服务器。您需要搜索这些设置并将其插入。
样品:
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
properties.put("jnp.socket.Factory", "org.jnp.interfaces.TimedSocketFactory");
properties.setProperty("java.naming.provider.url", "jnp://" + remoteHost + :1099");
context = new InitialContext(properties);
或
寻找这个