嗨,我试图用eclipse在GWT中创建neo4j图形数据库。我用了这个视频https://www.youtube.com/watch?v=WSj5hNwDnEc但是chrom和nappi的gwt有一些错误(通过像windows 7一样运行chrom来修复)
我这样写代码:
/**
* The server-side implementation of the RPC service.
*/
@SuppressWarnings("serial")
public class GreetingServiceImpl extends RemoteServiceServlet implements
GreetingService {
private static enum RelTypes implements RelationshipType
{
KNOWS
}
private static final String DB_PATH = "target/neo4j-hello-db";
private static String result;
GraphDatabaseService graphDb;
Node firstNode;
Node secondNode;
Relationship relationship;
public String greetServer(String input) throws IllegalArgumentException {
// Verify that the input is valid.
if (!FieldVerifier.isValidName(input)) {
// If the input is not valid, throw an IllegalArgumentException back to
// the client.
throw new IllegalArgumentException(
"Name must be at least 4 characters long");
}
String serverInfo = getServletContext().getServerInfo();
String userAgent = getThreadLocalRequest().getHeader("User-Agent");
// Escape data from the client to avoid cross-site script vulnerabilities.
input = escapeHtml(input);
userAgent = escapeHtml(userAgent);
System.out.println("1");
result="";
createDb();
System.out.println("2");
removeData();
System.out.println("3");
shutDown();
return result + input + "!<br><br>I am running " + serverInfo
+ ".<br><br>It looks like you are using:<br>" + userAgent;
}
private void shutDown() {
// TODO Auto-generated method stub
// System.out.println();
// System.out.println( "Shutting down database ..." );
// // START SNIPPET: shutdownServer
graphDb.shutdown();
// END SNIPPET: shutdownServer
}
private void removeData() {
// TODO Auto-generated method stub
try ( Transaction tx = graphDb.beginTx() )
{
// START SNIPPET: removingData
// let's remove the data
firstNode.getSingleRelationship( RelTypes.KNOWS, Direction.OUTGOING ).delete();
firstNode.delete();
secondNode.delete();
// END SNIPPET: removingData
tx.success();
}
}
private void createDb() {
deleteFileOrDirectory( new File( DB_PATH ) );
System.out.println("2.1");
// START SNIPPET: startDb
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );
registerShutdownHook( graphDb );
System.out.println("******************2.2*******************************************");
registerShutdownHook( graphDb );
// END SNIPPET: startDb
// START SNIPPET: transaction
try ( Transaction tx = graphDb.beginTx() )
{
// Database operations go here
// END SNIPPET: transaction
// START SNIPPET: addData
firstNode = graphDb.createNode();
firstNode.setProperty( "message", "Hello, " );
secondNode = graphDb.createNode();
secondNode.setProperty( "message", "World!" );
relationship = firstNode.createRelationshipTo( secondNode, RelTypes.KNOWS );
relationship.setProperty( "message", "brave Neo4j " );
// END SNIPPET: addData
// START SNIPPET: readData
result +=firstNode.getProperty( "message" );
result +=relationship.getProperty( "message" );
result +=secondNode.getProperty( "message" );
// END SNIPPET: readData
// START SNIPPET: transaction
tx.success();
}
// END SNIPPET: transaction
}
private static void deleteFileOrDirectory( File file )
{
if ( file.exists() )
{
if ( file.isDirectory() )
{
for ( File child : file.listFiles() )
{
deleteFileOrDirectory( child );
}
}
file.delete();
}
}
private static void registerShutdownHook( final GraphDatabaseService graphDb )
{
// Registers a shutdown hook for the Neo4j instance so that it
// shuts down nicely when the VM exits (even if you "Ctrl-C" the
// running application).
Runtime.getRuntime().addShutdownHook( new Thread()
{
@Override
public void run()
{
graphDb.shutdown();
}
} );
}
/**
* Escape an html string. Escaping data received from the client helps to
* prevent cross-site script vulnerabilities.
*
* @param html the html string to escape
* @return the escaped string
*/
private String escapeHtml(String html) {
if (html == null) {
return null;
}
return html.replaceAll("&", "&").replaceAll("<", "<")
.replaceAll(">", ">");
}
}
. . . .
现在我的问题是线路:
graphDb = new GraphDatabaseFactory().newEmbeddedDatabase( DB_PATH );
我得到的错误是:
服务方法'公共抽象java.lang.Stringneo4jingwtpackage.client.GreetingService.greetServer(java.lang.String)抛出java.lang.IllegalArgumentException'抛出了一个意外异常:java.lang.RuntimeException:错误启动org.neo4j.kernel.EmbeddedGraphDatabase, C:\Users_yogev\workspace\temp\neo4jinjgwt\war\target\neo4j-hello-db...
原因:java。lang.RuntimeException:启动组织时出错。neo4j。内核EmbeddedGraphDatabase,C:\Users\yogev\workspace\temp\neo4jinjgwt\war\target\neo4j hello db。原因:组织。neo4j。内核生命周期。生命周期异常:组件组织。neo4j。内核impl。交易XaDataSourceManager@30e1e97f'已成功初始化,但无法启动。请参阅随附的原因例外。
有人知道这个问题吗?我试图通过以下方式修复它:EmbeddedGraphDatabase(storeDir、params、dependencies)
但是我不知道在参数和依赖项中放什么。。。当我使用null时,它也会给我错误。
谢谢大家
如果你没有将Neo4j交叉编译到客户端,你必须将Neo4j作为后端服务的一部分来运行。并通过GWT远程基础设施访问它。
创建新GDB实例的API是:
new GraphDatabaseFactory().newEmbeddedDatabase()
请参阅:http://neo4j.com/docs/stable/tutorials-java-embedded-hello-world.html#_prepare_the_database
我正在处理一个客户的请求,用GWT制作一个简单的小部件。我只是想在Eclipse市场上用Eclipse Oxygen和GWT插件来设置环境。当我运行向导项目时(调试为->GWT开发模式)。我明白了:“在书签栏中放置dev on/dev off按钮,当模块打开时,按dev on”有帮助吗?
问题内容: 这是我的类,用于从数据库中获取数据 这是我的文件: 当我运行该程序时,出现异常后,请帮助我如何解决它。我是Hibernate的新手,尝试学习但被卡住了。 虽然我能够将数据存储在数据库中,但我有2个用于第一和第二类的数据获取数据,但在获取数据时遇到了问题PLZ帮助。 问题答案: 让我引述一下: 据我所知,您正在使用表名。 所以应该是这样的:
我需要在CloudKit中获取CkAsset的web url。然而,在swift中,苹果不允许我们获取直接的WebURL,它只下载资产并给我们文件。但是,有了javascript,这是可能的。因此,我编写了一个JS文件来获取CkAsset Weburl。当我在浏览器中运行这个javascript文件时。我试图用下面的代码在swift中运行它,但我不能。我搜索到一个名为“StringByEvalua
问题内容: 我在中定义了一个macrodef ,并用来完成这项工作。在这种情况下,我正在验证。 问题是没有检索传递的属性的值。有人知道您如何从javascript中获取属性的值吗? 问题答案: 原来我使用了错误的标签类型。为了使用脚本定义蚂蚁任务,我应该使用not 。使用预定义的对象可以访问任务中的属性和嵌套元素。 这适用于从Ant中的javascript访问属性:
问题内容: 我们有以下课程 和这个 现在,我需要在运行时知道is是否为 。由于这是jpa自动处理的,因此我无法获取此值。 我们正在调用一个带有as参数的方法,我想避免使用它来检查它是什么类型。如果我可以做些类似的事情会更酷 问题答案: 您可以将鉴别符映射为只读属性:
问题内容: 我正在尝试创建一个自定义的视图,该视图可以让我获得数据库所有视图和表的行数。 在SQL Server中该死的表计数 现在,我需要获取VIEWS的行数 我觉得唯一的方法是从视图中计算行数,即 但是,我找不到一种方法来让视图的行数以及view_name,table_schema等。 在这方面的任何进步将是有帮助的。 问题答案: 这是最终的解决方案: