`
eric_hwp
  • 浏览: 125938 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java 施行cmd命令及mongodb脚本

 
阅读更多

原文出处:http://www.myexception.cn/database/646403.html

java 执行cmd命令及mongodb脚本

最近遇到了一个问题,起因是因为想使用java程序来关闭正在运行的Mongod。

 

最开始想使用强制结束进程的taskkill命令,但是关闭之后Mongo重启会有问题,于是作罢。

在想用Mongo的java api来执行shutdown操作。代码如下:

Mongo m = new Mongo();
db = m.getDb("admin");
db.eval("db.shutdownServer");
// 或者是如下的代码:
db.command("shutdown");

 这种情况会提示说,没有auth执行的Mongod只能用Localhost的方式登录来执行shutdown。

 

于是开始想别的办法。因为考虑到oracle是能够执行脚本的,因此想到mongodb也应该支持脚本,于是登录官网,惊喜,官网居然支持中文。然后查到确实是能够执行脚本的,Ok,开始写脚本,脚本必须是以.js结尾的。内容如下:

db = connect("admin");
db.shutdownServer();

 然后java的代码如下:

String cmd = "D:/mongodb-win32-i386-1.8.2/bin/mongo --shell " + "D:/mongodb-win32-i386-1.8.2/123.js";
		Runtime rt = Runtime.getRuntime();
		String[] command = new String[]{"cmd.exe" , "/C" , cmd};
		try {
			rt.exec(command);
			
		} catch (IOException e) {
			e.printStackTrace();
		}

 在执行mongo的时候带--shell参数就能够指定js文件的位置了。

通过这种方式能够正常的关闭正在执行的mongod。但是还有个缺陷就是需要用到java文件,好吧,为了更简单于是想到另外的办法,实现类似的操作。java代码如下:

		String cmd = "D:/mongodb-win32-i386-1.8.2/bin/mongo";
		Runtime rt = Runtime.getRuntime();
		String[] command = new String[]{"cmd.exe" , "/C" , cmd};
		try {
			Process process = rt.exec(command);
			BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
			String line = "";
			
			BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));
			bw.write("use admin;");
			bw.write("\n");
			bw.flush();
			bw.write("db.shutdownServer();");
			bw.flush();
			bw.close();
			while((line = br.readLine()) != null){
				System.out.println(line);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

 需要注意的就是使用BufferedWriter建立了输出流之后就能够跟向控制台输出命令一样来执行命令了。一定要注意加入\n的操作才能执行。

终于能够最方便的执行了。

分享到:
评论

相关推荐

    java 执行cmd命令及mongodb脚本

    Java执行CMD命令及MongoDB脚本是开发过程中常见的任务,特别是在集成系统或者自动化运维场景下。下面将详细讲解这两个主题。 一、Java执行CMD命令 在Java中,我们可以使用Runtime类或ProcessBuilder类来执行操作...

    使用cmd命令操作MongoDB数据库.pptx

    在本演示文稿中,我们将重点讨论如何通过CMD命令行界面操作MongoDB数据库。 首先,我们来看对数据库的基本操作。在MongoDB中,你可以使用`use <database_name>`命令来切换或创建数据库。如果指定的数据库不存在,...

    Mongodb + GridFS +Java 操作Mongodb中存储的文件

    目前,Java驱动通常使用的是MongoDB Java Driver,可以在Maven仓库中找到对应的依赖,例如: ```xml <groupId>org.mongodb <artifactId>mongodb-driver-sync <version>4.3.0 ``` 接下来,我们需要配置MongoDB...

    MongoDB、Java与对象关系映射

    ### MongoDB、Java与对象关系映射 #### MongoDB简介与特性 MongoDB作为一种强大的NoSQL数据库,在处理非结构化数据方面有着显著的优势。它通过使用JSON(JavaScript Object Notation)格式来存储和检索数据,简化...

    mongodb脚本.json

    mongodb创建库以及基本使用脚本说明.

    使用java上传MP4文件至mongodb数据库,并下载 源代码

    本篇文章将深入讲解如何使用Java来上传MP4文件到MongoDB,并进行下载操作。 首先,我们需要引入MongoDB的Java驱动程序。MongoDB提供了Java驱动库,通过Maven或Gradle可以轻松添加依赖。在Maven的`pom.xml`中,你...

    MongoDBjava各版本驱动下载

    它基于Java 6及更高版本,实现了MongoDB的Wire Protocol,允许Java应用与MongoDB进行通信。Java驱动分为几个主要版本,每个版本可能对应不同的功能特性和兼容性。 2. 版本选择: 选择MongoDB Java驱动版本时,应...

    java+MongoDB实现存图片、下载图片的方法示例

    "java+MongoDB实现存图片、下载图片的方法示例" 本文主要介绍了使用java和MongoDB实现存图片和下载图片的方法,并结合实例形式详细分析了java结合MongoDB实现图片的存储和下载相关操作技巧。 Java和MongoDB简介 ...

    使用java上传MP4文件至mongodb数据库,并下载

    使用Java上传MP4文件至MongoDB数据库,并下载 本文将详细介绍如何使用Java上传MP4文件至MongoDB数据库,并下载。首先,我们需要创建一个Maven项目,并配置pom.xml文件,引入MongoDB相关的依赖和单元测试的依赖。...

    MongoDB Java Driver 简单操作

    为了方便开发者使用 Java 进行开发,MongoDB 提供了官方的 Java 驱动程序(MongoDB Java Driver),使得 Java 应用能够轻松地与 MongoDB 数据库进行交互。 #### 二、基本概念与连接 在开始使用 MongoDB Java Driver...

    windows 64位mongodb安装包+java api文档

    4. **启动服务**:在命令行中,使用`mongod`命令启动MongoDB服务。如果你在安装过程中已经选择了创建服务,那么可以通过服务管理器启动或停止MongoDB服务。 MongoDB的Java API: 1. **引入依赖**:在Java项目中,你...

    Mongodb连接池for java

    标题“MongoDB连接池for Java”指的是在Java环境中,针对MongoDB数据库实现的连接池解决方案。这种解决方案通常基于特定的Java驱动程序,如MongoDB的Java驱动程序(com.mongodb.client.MongoClients),它提供了连接...

    java连接mongodb的jar包

    Java连接MongoDB主要依赖于MongoDB的Java驱动程序,这是一个允许Java应用程序与MongoDB数据库进行交互的库。在本文中,我们将深入探讨如何使用Java连接MongoDB,涉及的知识点包括MongoDB Java驱动程序的安装、配置,...

    mongo-java-driver-3.4.3,java连接mongodb的jar包驱动包

    mongo-java-driver-3.4.3.jar 是 MongoDB 官方为 Java 开发者提供的 Java 驱动程序的一个特定版本(3.4.3)。这个 JAR 文件包含了与 MongoDB 数据库进行交互所需的类和接口,允许 Java 应用程序连接到 MongoDB 实例...

    基于java的mongodb开发环境搭建

    - **启动服务:** 在命令行中输入`mongod`命令启动MongoDB服务(需要确保已将MongoDB的bin目录加入到系统PATH环境变量中)。 ##### 1.3 添加Maven依赖 在项目的`pom.xml`文件中添加以下依赖: ```xml ...

    java中mongodb使用环境详细配置

    Java 中 MongoDB 使用环境详细配置 Java 中 MongoDB 使用环境详细配置是指在 Windows 平台(WinXP)上安装、运行、安装 Windows 服务的笔记,以作备忘。下面是一些重要的知识点: 1. MongoDB 的下载和安装 ...

    Java连接mongoDB需要的jar包(3.9.1)

    这里提到的"Java连接mongoDB需要的jar包(3.9.1)"是指Java开发者用于连接MongoDB数据库的一组关键库文件,包括`bson-3.9.1.jar`、`mongodb-driver-3.9.1.jar`和`mongodb-driver-core-3.9.1.jar`。这些JAR文件是...

    mongodb_java_2.6_API

    本篇将深入探讨"mongodb_java_2.6_API",即MongoDB 2.6版本的Java驱动程序API,了解如何使用Java进行MongoDB的开发。 1. **MongoDB Java驱动程序概述** MongoDB的Java驱动程序是Java开发者与MongoDB服务器通信的...

    mongoDB java driver api

    MongoDB Java驱动API是用于与MongoDB数据库交互的Java库,它是MongoDB官方提供的一个关键组件,使得Java开发者能够方便地在应用程序中存取数据。MongoDB是一个高性能、开源、无模式的文档型数据库,而Java驱动API则...

Global site tag (gtag.js) - Google Analytics