⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 locktest.cs

📁 DotLucentet,用来做撬
💻 CS
字号:
using System;
using System.IO;
using Lucene.Net.Analysis;
using Lucene.Net.Index;
using Lucene.Net.Store;
using NUnit.Framework;
using Directory = Lucene.Net.Store.Directory;

namespace dotLucene.inAction.Index
{
	[TestFixture]
	public class LockTest
	{
		private Directory dir;

		[SetUp]
		public void Init()
		{
			String indexDir = "index";
			dir = FSDirectory.GetDirectory(indexDir, true);
		}

		[Test, ExpectedException(typeof (IOException))]
		
		public void WriteLock()
		{
			IndexWriter writer1 = null;
			IndexWriter writer2 = null;
			try
			{
				writer1 = new IndexWriter(dir, new SimpleAnalyzer(), true);
				writer2 = new IndexWriter(dir, new SimpleAnalyzer(), true);

			}
			catch (IOException e)
			{
				Console.Out.WriteLine(e.StackTrace);
			}
			finally
			{
				writer1.Close();
				Assert.IsNull(writer2);
			}
		}

		[Test]
		public void CommitLock()
		{
			IndexReader reader1 = null;
			IndexReader reader2 = null;
			try
			{
				IndexWriter writer = new IndexWriter(dir, new SimpleAnalyzer(),
				                                     true);
				writer.Close();
				reader1 = IndexReader.Open(dir);
				reader2 = IndexReader.Open(dir);
			}
			finally
			{
				reader1.Close();
				reader2.Close();
			}
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -